首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs :以后让绑定数据更新的最佳方法是什么?

Angularjs :以后让绑定数据更新的最佳方法是什么?
EN

Stack Overflow用户
提问于 2014-01-22 09:37:47
回答 2查看 611关注 0票数 2

如果我的初始数据有ng重复指令绑定,

代码语言:javascript
复制
 <!-- list 1-->
 <li ng-repeat="data in datas">{{data.name}}</li>

我用另一个ng重复和ng模型指令来改变数据,

代码语言:javascript
复制
 <!-- list 2-->
 <li ng-repeat="data in datas">
     <input type="text" ng-model="data.name">
 </li>

在角度上,任何方法都可以做列表1ng-重复数据刷新不立即(在我单击保存按钮后)?

代码语言:javascript
复制
<button ng-click="save()">Save</button>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-22 10:37:07

您可以使用第二个(临时)克隆来进行更改,并使用angular.copy将更改复制到实际对象。

代码语言:javascript
复制
The actual list:
<ul><li ng-repeat="item in items">
    {{item.name}} (id: {{item.id}})
</li></ul>

Edit the list:
<ul><li ng-repeat="item in tempCopy">
    <input type="text" ng-model="item.name" />
</li></ul>

<button ng-click="persistChanges()">Save</button>
<button ng-click="discardChanges()">Discard</button

在您的控制器中:

代码语言:javascript
复制
/* Persist the changes */
$scope.persistChanges  = function () {
    angular.copy($scope.model.tempCopy, $scope.model.items);
};
/* Discard the changes */
$scope.discardChanges  = function () {
    angular.copy($scope.model.items, $scope.model.tempCopy);
};

看,还有,这个短演示

最后,在angular.copy上的角度文档上有一个类似的例子。

票数 1
EN

Stack Overflow用户

发布于 2014-01-22 10:34:58

您似乎是通过将数组扩展为一个元素在datas中创建新项吗?如果是这样,为什么不为表单使用不同的模型,并在单击“保存”按钮时将结果推送到数组data上?

类似地,编辑项时,克隆数组元素并使其成为结果表单的模型,然后在单击“保存”按钮时修改原始数组元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21279144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档