场景(DOM):
<div *ngFor="let one of many">
<span [innerHtml]="one"></span>
</div>
场景(控制器):
let many = [];
let timer = 60;
setInterval(() => timer--, 1000);
many.push("this is a selection WITH a {{timer}}");
many.push("this is a selection WITHOUT a timer");
所以基本上是一个阵列&#34;很多&#34;它可以将许多字符串动态地推入其中并且还将一些字符串传递到&#34;很多&#34;有倒计时,有些则没有倒计时。有没有办法通过字符串将模型传递到DOM,如上所示并更新计时器?如果它的可行性如何才能实现。
我真的希望这不是其中一个&#34;陷阱&#34;那太明显了。
格拉西亚斯
答案 0 :(得分:3)
这是一种'hacky'解决方案,但它可以工作,您不需要创建额外的组件。
首先,将模板更改为:
<div *ngFor="let one of many">
{{one.replace('[timer]', timer)}}
</div>
其次,将timer
和many
声明为类变量:
export class YourComponent {
timer:number=60;
many:string[];
(...)
}
最后,在向many
添加新行时,只要您想包含timer
,请使用[timer]
代替{{timer}}
。
您可以将[timer]
更改为您想要的任何内容。