【发布时间】:2019-08-18 18:32:17
【问题描述】:
我有一个视图组件,它从服务中获取数据模型并将其设置为自身的属性。 然后,一组自定义组件接收属性的字段作为输入以在其中显示。这按预期工作。
<app-textbox [caption]="'First name'"
[value]="data.name.first"></app-textbox>
ngOnInit() {
this.service.getData()
.subscribe(res => this.data = res);
}
当自定义组件编辑其内容时,我注意到原始模型没有更新。经过一番谷歌搜索后,我发现我需要双向绑定它并尝试了以下方法(显然它被称为香蕉盒符号)。遗憾的是,它似乎没有任何效果,并且原始模型没有随着新条目而改变。
<app-textbox [caption]="'First name'"
[(value)]="data.name.first"></app-textbox>
我还尝试应用 ngModel,如下所示,但这导致错误消息提示 没有用于具有未指定名称属性的表单控件的值访问器。检查docs 让我知道它应该可以工作,但没有我需要的那么详细。
<app-textbox [caption]="'First name'"
[(ngModel)]="data.name.first"></app-textbox>
我需要一个指向哪里出错的指针。我需要在自定义组件中的某个地方发出值吗?我必须使用表格吗?我现在唯一解决它的想法是标记所有控件并手动收集值。这显然是一种不好的做法。
【问题讨论】:
标签: angular typescript angular-ngmodel two-way-binding