这个问题在这里已有答案:
我在这样定义的组件中具有这些属性 .
userDataDefinitions:Array<userDataDefinition>;
currentDefinition:userDataDefinition = null;
然后我有一个表单,它根据currentDefinition显示数据,设置如下:
<div *ngFor="let userDataDefinition of userDataDefinitions">
<a href="#" (click)="setCurrentDefinition(userDataDefinition)">
{{ userDataDefinition.key }}
</a>
</div>
表单输入字段使用ngModel:
[(ngModel)]="currentDefinition.property"
这意味着只要我编辑其中一个输入字段,就会立即更新基础currentDefinition和userDataDefinitions,如预期的那样 . 我的问题是,如果我希望仅在动作(例如表单提交)时更新基础模型,我该怎么办?我应该克隆currentDefinition吗?我应该不使用ngModel吗?
实现这一结果的正确angular2方法是什么?
非常感谢你
问候
2 回答
您可以从属性到视图执行单向绑定,并仅在您选择的事件上更新属性 . 这是一个示例:http://plnkr.co/edit/lNcp7vcEGkozTzB8w4OT?p=info
我想这就是你要找的东西:
使用“#”,您可以参考正在更改的objekt,如果您再单击按钮,则会将您的信息作为参数发送 .
有关详细信息,请查看此问题
Angular2 - Update model on button click