我想在* ngfor angular 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>
我知道上面的代码无效。但是我想知道上面有什么可以实现的吗?
预期输出应为
STR1
STR2
STR3
注意:我希望使用角度ngfor在C#中实现类似下面的代码。
var str = "";
foreach(var item in items)
{
str = str + item.toString();
}
console.log(str);
答案 0 :(得分:2)
<强>更新强>
*ngFor
可用于根据以前的项目计算值。
最好的方法是在代码中准备列表,然后将*ngFor
绑定到结果列表。
<强>原始强>
您不能对let
使用任意表达式。只能分配*ngFor
提供的上下文变量。
这样它应该产生你想要的结果
<div *ngFor="let c of contacts;let last = last">
<div *ngIf="last">
{{str}}{{c}}
</div>
</div>
答案 1 :(得分:2)
也许像join
这样简单就足够了:
未测试
var contacts = ['str1', 'str2', 'str3'];
<div [innerHtml]="contacts.join('')"></div>
答案 2 :(得分:1)
您可以一个接一个地输出两个字符串:
let contacts = [str1, str2, str3];
<div *ngFor="let c of contacts;let last = last;">
<div *ngIf="last">
{{str}}{{c}}
</div>
</div>