Angular - 来自变量的 ngModel 对象 属性
Angular - ngModel object property from variable
我的应用程序中有以下用户对象:
let user = {name: "John", dob:"1995-10-15", metadata: {}}
我对象的metadata
属性是一个空对象。根据用户输入,我想在 metadata
对象中创建一个新的 属性,例如:
<input [(ngModel)]="user.metadata.childrenNumber" placeholder="Enter number of children"></input>
到目前为止一切顺利,一切都按预期进行。然而,childrenNumber
属性 我已经存储在一个数组中:
let metaDataOptions = ['childrenNumber', 'workStatus', 'education'];
如何引用我希望从该数组创建的 属性 的名称?对于上面的案例,我尝试做这样的事情:
// i is index from ngFor. i can be 0, 1 or 2
<input [(ngModel)]="user.metadata.metaDataOptions[i]" placeholder="Enter number of children"></input>
但是,这不起作用。我怎样才能达到我想要的结果?
使用索引0
<input [(ngModel)]="user.metadata.metaDataOptions[0]" placeholder="Enter number of children"></input>
保持下方对象原样。
let user = {name: "John", dob:"1995-10-15", metadata: {}}
let metaDataOptions = ['childrenNumber', 'workStatus', 'education']
您可以使用以下代码行在元数据对象中创建对象 属性。
<input [(ngModel)]="user.metadata[metaDataOptions[i]]" placeholder="Enter number of children"></input>
你可以随它去
let user = {name: "John", dob:"1995-10-15", metadata: { 'childrenNumber' : null}}
然后
<input [(ngModel)]="user.metadata.childrenNumber" placeholder="Enter number of children"></input>
我的应用程序中有以下用户对象:
let user = {name: "John", dob:"1995-10-15", metadata: {}}
我对象的metadata
属性是一个空对象。根据用户输入,我想在 metadata
对象中创建一个新的 属性,例如:
<input [(ngModel)]="user.metadata.childrenNumber" placeholder="Enter number of children"></input>
到目前为止一切顺利,一切都按预期进行。然而,childrenNumber
属性 我已经存储在一个数组中:
let metaDataOptions = ['childrenNumber', 'workStatus', 'education'];
如何引用我希望从该数组创建的 属性 的名称?对于上面的案例,我尝试做这样的事情:
// i is index from ngFor. i can be 0, 1 or 2
<input [(ngModel)]="user.metadata.metaDataOptions[i]" placeholder="Enter number of children"></input>
但是,这不起作用。我怎样才能达到我想要的结果?
使用索引0
<input [(ngModel)]="user.metadata.metaDataOptions[0]" placeholder="Enter number of children"></input>
保持下方对象原样。
let user = {name: "John", dob:"1995-10-15", metadata: {}}
let metaDataOptions = ['childrenNumber', 'workStatus', 'education']
您可以使用以下代码行在元数据对象中创建对象 属性。
<input [(ngModel)]="user.metadata[metaDataOptions[i]]" placeholder="Enter number of children"></input>
你可以随它去
let user = {name: "John", dob:"1995-10-15", metadata: { 'childrenNumber' : null}}
然后
<input [(ngModel)]="user.metadata.childrenNumber" placeholder="Enter number of children"></input>