0

아래 그림과 같이 json 샘플이 있는데 텍스트 영역 (Plunker)의 레이블과 값에 키를 나타내려고합니다. 그러나 모델에 "\ n"이 포함되어 있으면 텍스트 영역이 작동하지 않습니다. \ n 텍스트가 새 줄에 나타나기를 바랍니다. n이있는 anglejs 텍스트 영역 모델은 새 줄을 시작해야합니다.

여러 \이있는 경우에도
Sample Text 
RowX 
RowY 
RowZ 

를 n \ n ... 하나의 줄 바꿈이 있어야한다 :로 텍스트 영역에서

$scope.sampleData = { 
    "id": 10000, 
    "transactionid": "gec43434", 
    "status": "COMPLETED", 
    "session_id": "TTYUU455667", 
    "errors": "1", 
    "start_timestamp": "2016-11-07 02:35:35", 
    "log_field": "\n\nSample Text\nRowX\n\nRowY\nRowZ\n" 
    } 

, 내가 원하는 "log_field"값 등장한다.

"\n\nSample Text\nRowX\n\nRowY\nRowZ\n".replace(/\n\s*\n/g, '\n'); 

var text = "\n\nSample Text\nRowX\n\nRowY\nRowZ\n".replace(/\n\s*\n/g, '\n'); 
 
document.getElementById("foo").value = text;
<textarea id="foo"></textarea>

+0

Textarea가 작동하는 것처럼 보입니다. textarea에서 "log_field"의 값을 보려면 아래로 스크롤해야합니다. 2 \ n부터 시작하기 때문에. –

답변

-1

당신은 여분의 새 라인 문자를 제거하려면 다음을 사용할 수 있습니다 일하고,에서 아래로 스크롤을 했습니까?textarea, 2 \ n으로 시작하기 때문에?

마지막 쿼리에서는 사용자 정의 필터를 만들어야합니다.이 필터는 여러 개의 연속 된 줄 바꿈을 단일 줄 바꿈 문자로 대체 할 수 있습니다. 그것은 매우 쉽고 기본이지만 더 많은 방향이 필요하면 알려주십시오.

여기 필터에 대한 자세한 정보 : https://docs.angularjs.org/guide/filter. 또한 사용자 정의 필터를 작성하는 방법에 대한 예제도 제공합니다.

+0

동적 데이터와 함께 작동하지 않습니다 –

+0

물론 @VatsalJuneja 것입니다. 나는 OP가 어떻게 그것을 사용할 수 있는지 보여줍니다. OP에서 정의한 샘플 데이터는 API에서 가져온 형식과 비슷합니다. API를 사용하면 모델을 정의하기 전에 데이터를 처리 할 수 ​​있습니다. – Christos

+0

먼저 OP는 ID를 사용하지 않습니다. 현재이를 무시하기로 결정한 경우에도 솔루션은 필요하지 않을 수도있는 angularjs의 양방향 데이터 바인딩으로 인해 sampleData의 값을 변경합니다. 지금은 이것을 무시하겠습니다. 해결책은 DRY가 아닙니다. 이는 필터를 통해 매우 쉽게 수행 될 수 있으며, OP 코드가 플 런커에서 보여준 것보다 훨씬 간단합니다. –

-1

시도 다음 코드를 추가 :

$scope.sampleData.log_field = $scope.sampleData.log_field.replace(/\\n{1,}/g,'\\n'); 
+0

동적 데이터에서는 작동하지 않습니다. –

0

텍스트 영역이 될 것으로 보인다

+0

네가 맞습니다. 마지막 쿼리에 대한 해결책이 있습니까? –

+0

@MadasuK 원하는 모든 위치에서 사용자 정의 필터를 작성하여 HTML에서 직접 사용할 수 있습니다. 기본적으로 디스플레이 용 데이터를 포맷하는 데 사용됩니다. 자세한 내용은 https://docs.angularjs.org/guide/filter를 참조하십시오. –