2016-11-03 2 views
2

* ngfor angular 2 지시문 내에서 문자열을 여러 줄로 결합하고 싶습니다.* ngfor 각도 2 내의 문자열 연결

var contacts = [str1, str2, str3]; 

<div *ngFor="let c of contacts;let last = last; let str = str + c;"> 
    <div *ngIf="last"> 
     {{str}} 
    </div> 
</div> 

위의 코드는 유효하지 않습니다. 그러나 나는 위와 같은 것을 달성하는 것이 가능하다는 것을 알고 싶습니까?

예상 출력은

(PS)와 복수의 랜덤

(PS)와 복수의 랜덤

STR3

주의해야한다 : 나는 C#에서 코드는 각 ngfor를 사용하여 아래 식으로 뭔가를 달성하고 싶다.

var str = ""; 

    foreach(var item in items) 
    { 
    str = str + item.toString(); 
    } 
    console.log(str); 

답변

2

갱신

*ngFor 이전 항목에 따라 값을 계산하는 데 사용할 수 있습니다. 가장 좋은 방법은 코드에서 목록을 준비한 다음 *ngFor을 그 결과 목록에 바인딩하는 것입니다.

원래

당신은 let으로 임의의 표현을 사용할 수 없습니다. *ngFor에서 제공하는 컨텍스트 변수 만 할당 할 수 있습니다.

<div *ngFor="let c of contacts;let last = last"> 
    <div *ngIf="last"> 
     {{str}}{{c}} 
    </div> 
</div> 
+0

마지막 반복이 끝나면 출력을 표시하고 싶습니다. 출력은 다중 행 연결 문자열이어야합니다. – chenk

+0

내 코드가 원하는대로 할 것으로 기대합니까? 그렇지 않습니까? –

+0

아니요 {{str}}은 여기에 정의되어 있지 않습니다. – chenk

1

당신은 단순히 출력 두 문자열 속출 수 있습니다 당신이 원하는 결과를 생성한다이 방법 :

let contacts = [str1, str2, str3]; 

<div *ngFor="let c of contacts;let last = last;"> 
    <div *ngIf="last"> 
     {{str}}{{c}} 
    </div> 
</div> 
2

은 아마도 join 같은 간단한 충분할 것이다 :

테스트되지 않음

var contacts = ['str1', 'str2', 'str3']; 

<div [innerHtml]="contacts.join('')"></div> 
+1

현재 작동 중입니다. https://plnkr.co/edit/W5wos2ApGA1P4nTy90f6?p=preview – Bazinga