角使用变量值而不是变量名字符串

时间:2020-08-25 16:06:43

标签: angular

我正在处理一个看起来像这样的数组:

[
   {
     f_name: "c_name",
     title: "k c name",
     con_name: "cname",
     path: "this.dialogData.name"
   },
   {
     f_name: "c_num",
     title: "k c num",
     con_name: "cnum",
     path: "this.dialogData.number"
   }
]

在html文件中,我如下遍历此数组:

        <mat-form-field *ngFor ="let f of fields">
            <mat-label>{{f.title}}</mat-label>
            <input  formControlName={{f.con_name}} matInput name={{f.con_name}} value={{f.path}}>
        </mat-form-field>

一切正常,但{{f.path}}作为字符串而不是变量出现在字符串上。

例如,在第一个问题中,将值设置为this.dialogData.name,而不是将test_name设置为变量this.dialogData.name的值。

我可以做些什么来引用基础变量吗?与将值用作路径字符串相反。

1 个答案:

答案 0 :(得分:1)

根据我的评论,我相信您实际上是在尝试将每个元素中的属性path初始化为this.dialogData中的属性,而不是分配字符串。在这种情况下,您可以删除path属性的括起来的引号。

尝试以下

fields = [
  {
    f_name: "c_name",
    title: "k c name",
    con_name: "cname",
    path: this.dialogData.name         // <-- no quotations
  },
  {
    f_name: "c_num",
    title: "k c num",
    con_name: "cnum",
    path: this.dialogData.number       // <-- no quotations
  }
];