有没有办法在* ngFor中使用插值

时间:2017-12-08 18:01:05

标签: angular typescript angular2-directives

<div *ngFor="let t of {{randomName}}"></div>

我想动态传递数组名称,我尝试了上面的代码,但我得到了错误。

感谢您的回答,但我必须使用我的方案更新问题

<div formArrayName="{{obj.key}}">
 <div *ngFor="let t of formGrp.controls.{{obj.key}}.controls"></div>
</div>

我正在动态创建表单数组,它可以根据模式具有任何名称。我能够将该动态名称绑定到formArrayName,因为它支持插值但我也需要在循环上使用相同的行为

3 个答案:

答案 0 :(得分:3)

使用方括号表示法应该很容易:

<div *ngFor="let t of formGrp.controls[obj.key].controls"></div>
                                      ^^^^^^^^^

<强> Stackblitz Example

答案 1 :(得分:2)

<html> <head> <style> /* Contents of style.min.css */ </style> <script type='text/javascript'> // Contents of script.min.js </script> </head> <body> <!-- Body --> </body> </html>

<div *ngFor="let t of getTheData()"></div>是组件中返回数据的方法

点击getTheData

中的https://plnkr.co/edit/Ma66tJhpldYY4GuuM3uU?p=preview示例

答案 2 :(得分:2)

<div *ngFor="let t of dynamicArr"></div>

您可以做的是在组件中动态设置阵列。而不是使用字符串插值。

export class SomeClass {
   dynamicArr:[];  
   updateArr(){
     // some logic
   return this.dynamicArr = dynamic Array
   }
}