如果值为true,AngularJS将更新ng模型
AngularJS update ng-model if value = true
你好,我正在构建一个概述数据库数据的应用程序。我有一个表单,它将带有ng模型的信息加载到输入字段中,用户可以选择更改这些值。
但是,当用户更改输入字段中的值时,我不希望概览中的值实时更新。只有在表格提交后,我才想看到更改。
我有这个HTML在概述侧
<dt>COMPANY</dt>
<dd>{{client.company}}</dd>
<dt>NAME</dt>
<dd>{{client.firstname}} {{client.lastname}}</dd>
形式是
<p>Company</p><input type="text" name="ciCompany" class="pinfo" ng-model-options="{ updateOn: 'value = true' }" required ng-model="client[0].company">
<p>First Name</p><input type="text" name="ciFirstName" class="pinfo" ng-model-options="{ updateOn: 'value = true' }" required ng-model="client[0].firstname">
<p>Last Name</p><input type="text" name="ciLastName" class="pinfo" ng-model-options="{ updateOn: 'value = true' }" required ng-model="client[0].lastname">
我不知道使用ng模型选项是否是正确的方法。但从逻辑上讲,这就是我想要的工作方式。但事实并非如此。
感谢
您可以使用angular.copy来执行此操作:
$scope.clients = {}; // your array
$scope.clientsCopy = angular.copy($scope.clients);
<dt>COMPANY</dt>
<dd>{{clientsCopy.company}}</dd>
<dt>NAME</dt>
<dd>{{clientsCopy.firstname}} {{clientsCopy.lastname}}</dd>
<form ng-submit="userSubmit()">
<p>Company</p><input type="text" required ng-model="clients[0].company">
</form>
然后您可以使用onSubmit更新新值:
$scope.userSubmit = function() {
$scope.clientsCopy = $scope.clients;
}
如果使用下划线或lodash,也可以使用_.extends或_.merge
在表单提交时,您必须使用angular.copy方法来复制数据,如下所示:
$scope.client = angular.copy(clients[0]);
请参阅:参考链接
相关文章:
- 如何为动态创建的文本区域中输入的值更新ng模型
- 在数据更改时更新ng重复
- 使用输入更新 ng 模型数据
- Angularjs在更改ng之前需要更新ng模型
- 通过使用ng if更新ng repeat加载程序
- 如何在Angularjs中使用ng选项时更新ng模型
- 在angularjs复选框输入中更新ng模型或执行ng更改之前需要确认
- AngularJS没有't在Django管理日期小部件上的jQuery事件后更新ng模型
- 如果值为true,AngularJS将更新ng模型
- 如何只更新ng repeat中的部分元素
- 角度 1.5 不更新 ng-repeat
- 如何更新 ng 模型值
- Angular 在触发更改时不更新 Ng 类
- 在角度材料对话框数据输入/推送后更新ng-repeat
- 添加重复键对象时如何更新 ng-repeat 列表中的元素
- 更新 ng 重复中的嵌套对象
- 从另一个 Angular 控制器更新 ng-repeat
- 如何使用来自外部源的数据更新 ng 模型
- 如何使用另一个 ng 选项选定值动态更新 ng 选项值
- AngularJS更新ng-model的值以设置默认值