Angular2-如何使用单向数据绑定绑定到JSON属性
我尝试使用Angular2的单向数据绑定将输入字段值绑定到JSON属性。Angular2-如何使用单向数据绑定绑定到JSON属性,json,angular,2-way-object-databinding,Json,Angular,2 Way Object Databinding,我尝试使用Angular2的单向数据绑定将输入字段值绑定到JSON属性。 JSON对象如下所示: [ { "name": "my name", "list": [ { "date": "0101970", "list": [ { "timespan": "6-7", "entries": [ { "name
JSON对象如下所示:
[
{
"name": "my name",
"list": [
{
"date": "0101970",
"list": [
{
"timespan": "6-7",
"entries": [
{
"name": ""
},
{
"name": ""
},
{
"name": ""
}
]
}
]
}
]
}
]
我想将该值绑定到条目的特定名称属性
以下是我如何尝试进行途中绑定:
<div class="col-md-4" *ngFor="#category of categories">
<div>
<div class="col-md-12">
<h1>{{category.name}}</h1>
</div>
</div>
<div *ngFor="#listentry of category.list">
<div class="row">
<div class="col-md-12">
<h2>{{listentry.date}}</h2>
</div>
</div>
<div class="row" *ngFor="#shift of listentry.list">
<div class="row">
{{shift.timespan}}
</div>
<div class="row" *ngFor="#entry of shift.entries">
<div class="col-md-10">
<input type="text" class="form-control" (ngModel)="entry.name">
</div>
</div>
</div>
</div>
</div>
据我所知,Angular2中的数据绑定(ngModel)=“attribute”
从视图绑定到模型,而[ngModel]=“attribute”
从另一个角度绑定。
那么,我的
怎么了
当然,我可以使用双向数据绑定,但我有一些其他约束(禁用表单元素),这些约束仅在按下按钮后应用,而不是在用户输入上应用。
<input type="text" class="form-control" [ngModel]="entry.name">
其中,ngModel
是带有
@Input() ngModel; // for the [ngModel]="..." bindign
@Output() ngModelChange = EventEmitter(); // for the (ngModelChange)="..." binding
它们一起支持速记形式
[(ngModel)]="model"
与
其中,ngModel
是带有
@Input() ngModel; // for the [ngModel]="..." bindign
@Output() ngModelChange = EventEmitter(); // for the (ngModelChange)="..." binding
它们一起支持速记形式
[(ngModel)]="model"
感谢您的回答,但是将(ngModelChange)=“model=$event”
添加到输入元素不起作用。此外,没有错误消息。如前所述,由于其他限制,我不能使用[(ngModel)]=“model”
。我只想将输入绑定到模型。如果模型发生更改,我不想更新视图。如果您不想或不能使用ngModel
,则需要侦听输入元素本身的事件,如
(或输入发出的任何其他事件,如(模糊)
,(按键)
,…(ngModel)
不会做任何事情,因为没有ngModel
事件。[(ngModel)]
只起作用,因为这是一种特殊的形式,其中[xxx]=“model”
和(xxxChange)=“model=$event”
可以组合成[(xxx)]=“model”
谢谢!我以为ngModel可以做这项工作……我使用(更改)现在。感谢您的回答,但是将(ngModelChange)=“model=$event”
添加到输入元素不起作用。而且,没有错误消息。正如我前面所说,我不能使用[(ngModel)]=“model”
由于其他限制。我只想将输入绑定到模型。如果模型发生更改,我不想更新视图。如果您不想或不能使用ngModel
,则需要侦听输入元素本身的事件,如
(或输入发出的任何其他事件,如(模糊)
,(按键),…(ngModel)
不会做任何事情,因为没有ngModel
事件。[(ngModel)]
只起作用,因为这是一种特殊的形式,其中[xxx]=“model”
和(xxxChange)=“model=$event”
可以组合成[(xxx)]=“model”
谢谢!我以为ngModel可以做这项工作……我使用它(改变)现在。
[(ngModel)]="model"