您好我正在构建一个概述数据库数据的应用程序。我有一个表单,用ng-model将信息加载到输入字段中,用户可以选择更改这些值。
但是,当用户更改输入字段中的值时,我不希望概述上的值实时更新。只有在提交表单后,我才能看到更改。
我在概述方面有这个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-model-options是否是正确的方法。但从逻辑上讲,这就是我希望它发挥作用的方式。但它没有。
由于
答案 0 :(得分:0)
您可以使用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。
答案 1 :(得分:0)