假设您有一个* ngFor循环,并且您希望将当前循环的值保存到typescript中的变量中。有没有办法做到这一点?
示例
<tr *ngFor="let item of items | async">
<td>{{item.one}}</td>
<td>{{item.two}}</td> <-- I want to save this one away -->
<td>{{item.three}}</td>
</tr>
打字稿
this.itemCollection = this.afs.collection(CollectionIntf);
this.items= this.itemCollection.valueChanges();
到目前为止,我一直在使用<iframe (load)=saveIntoVar(item.two)></iframe>
。必须有更好的方法来实现这一点,因为这种iframe方法似乎并不总是有效。
答案 0 :(得分:1)
在组件控制器中有一些从异步订阅中获取值的好方法。一种是只在控制器中订阅并分配变量。一种是在控制器中使用单独的订阅,但我最喜欢的是使用“do”运算符:
组件中的:
this.items = this.itemCollection.valueChanges().do(items => console.log(items));
然后你可以产生你认为合适的副作用。