问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

AngularJS双向绑定的选择,解决方法?

发布网友 发布时间:2022-04-25 16:12

我来回答

2个回答

热心网友 时间:2022-05-14 20:50

AngularJS的双向绑定特性的确很好用,但是在实际使用中遇到了一些问题:
首先使用ng-repeat将数据重复展示出来(item in datas),然后在关联的modal对话框中提供修改功能(将item的对应项使用ng-model绑在modal的form上),但是由于双向绑定的原因,即便未点击保存按钮,在对话框中的修改也会实时影响到页面上的展示数据,这样有些影响体验。
相关代码
html:
<div ng-repeat="item in data">
{{item.name}}
{{item.age}}
</div>
<a data-toggle="modal" data-target="#mySettingModal{{item.id}}" ng-click="fresh(item)">modify</a>
<div class="modal fade" id="mySettingModal{{item.id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="z-index: 1050">
<form name="form">
<div class="form-group">
<label for="name" class="control-label">名称:</label>
<input type="text" class="form-control" id="name" ng-model="item.name" />
</div>
</form>
<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="reset()">Close</button>
<button type="button" class="btn btn-primary" ng-click="updateSetting(item)">Save changes</button>
</div>
</div>

js的写法:
$http.get("/").success(function(data) {
$scope.data = data;
var interItem;
$scope.fresh = function(item) {
interItem = item;
console.log(interItem);
};
$scope.reset = function() {
console.log(interItem);
}
});

热心网友 时间:2022-05-14 22:08

应该在modal里使用一个对象的副本,在用户点击确认后,再将修改提交的副本覆盖掉原来的数据。
使用angualr.copy的原因是它将对象深复制,如果只是简单的将对象的引用赋值给另一个变量是达不到要的效果的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“泛览周王传”的出处是哪里 避事的意思是什么 怠息的意思是什么 “偷闲来此一嚬呻”的出处是哪里 怠息意思和来源是什么 客厅中间沙发旁旁边放什么 客厅沙发旁边放什么合适 沙发左右摆什么位置 淘宝网无法注册邮箱验证 谁能帮我注册一个谷歌帐号,我一直注册不成功,淘宝上也买不到,在线等... AngularJS的数据双向绑定是怎么实现的 angularjs 绑定策略中属性为什么可以去掉中间的中划线 AngularJS中directive指令使用之事件绑定与指令交互用法示例 开发商预埋的下水管漏水责任谁负责? 预埋的水管漏水怎么办 厨房预埋在楼板之间的排污水管渗漏怎么修? 家里预埋水管漏水怎么办 pvc下水管漏水维修? 铸铁下水管生锈渗水,请教如何修理 英镑汇率走势 30天 预埋水管漏水如何处理 人民币汇率走势在哪看? 抖音在哪里修改售后退款理由 人民币汇率创3年半新高,人民币未来的走势如何? 工程图纸“A0+1/4=多少A1”? 一张A0 图纸可以裁成多少张 A3 图纸。 一张A0图纸等于多少张A3图纸? cad出图A0 A1 A2 A3 A4 字高都分别在多少范围呢? a0的图纸是多大 A0图纸是A4图纸幅面的几倍 Angularjs 中数据双向绑定是怎么实现的?原理是什么 Angular如何给动态生成的元素绑定事件 angularjs中的事件绑定指令有哪些 angularjs数据绑定 angularjs怎么绑定事件 angularjs怎么实现不同控制器下的div绑定 如何利用AngularJS绑定两个控制器并变量赋值 AngularJS如何给在JS中添加的DOM元素绑定事件? AngularJS的常见指令,来看看你知道几个嘞 什么是angularjs数据双向绑定 angularjs中使用指令,绑定监听是在什么时候 angularjs 自定义指令控制input只能输入数字和字母 angularjs 怎么调用directive指令 房地产信托融资模式有哪些? 房地产的BT信托模式靠谱吗 房地产信托机构发行信托产品成本有哪些?自己盈利模式是什么?利润占多少? 我国有房地产信托,国外也有,但只看到大家谈房地产投资信托基金(REITs)。 公司型房地产信托投资的特点 什么是公募基金+资产证券化的房地产投资信托基金模式 戴在头上的小雨伞