gpt4 book ai didi

Angular2 - 将 ngModel 绑定(bind)到属性的引用

转载 作者:太空狗 更新时间:2023-10-29 17:30:51 26 4
gpt4 key购买 nike

我有一长串用户输入,我想将它们存储在一个对象中,而不是用 HTML 拼写出来。我想将这些值绑定(bind)到另一个存储用户/客户数据的对象。由于其简单性和功能性,最好使用 ngModel。

有人知道我怎样才能做到这一点吗?

下面的例子(不工作)。

@Component({
template: `
<div>
<h2>NgModel Example</h2>
<div *ngFor="let input of inputList">
{{ input.label }} <input type="text" [(ngModel)]="input.bindTo">
</div>
</div>

<p>This is not working: {{customerInfo.name}}, {{customerInfo.email}}</p>
`,
directives: [...]
})

export class AppComponent {
inputList = [
{
label: "Enter your name",
bindTo: this.customerInfo.name // also tried 'customerInfo.name'
},
{
label: "Enter your email",
bindTo: this.customerInfo.email
}
]

customerInfo = {
name: 'test',
email: ''
}
}

最佳答案

不支持。 ngModel只能绑定(bind)到组件的属性。我也没有看到在没有辅助方法的情况下通过模板中的字符串文字引用组件属性的方法:

这可能对你有用:

  <div *ngFor="#input of inputList">
{{ input.label }}
<input type="text"
[ngModel]="getProp(input.bindTo)"
(ngModelChange)="setProp(input.bindTo, $event)">
</div>
  inputList = [
{
label: "Enter your name",
bindTo: "name"
},
{
label: "Enter your email",
bindTo: "email"
}
];

getProp(prop) {
return this[prop];
}

setProp(prop, value) {
this[prop] = value;
}

<罢工>

<罢工>
  <div *ngFor="#input of inputList; #i = index">
{{ input.label }} <input type="text" [(ngModel)]="inputList[i]">
</div>

<罢工>

提示 => RC.0 #应替换为 let

关于Angular2 - 将 ngModel 绑定(bind)到属性的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com