在$scope update上防止AngularJs内容闪烁
当我在控制器中更新我的$scope时
$scope.item = "Hello"; 然后,项目的整个DOM似乎被删除,然后再次添加.这似乎很好,但如果我有一个项目列表,并做 $scope.items = Resource.query(); 要更新所有项目,然后删除所有项目的DOM,然后重新添加,这看起来很破碎和笨拙 – 无论如何,当$scope更新时,这个删除然后添加DOM元素? 如果$scope.items及其子项在几个ng-repeat语句中使用,则会更加恼火,因为所有这些ng-repeat部分都被删除然后重新添加. 编辑 我已经读过这个,觉得这是问题https://www.binpress.com/tutorial/speeding-up-angular-js-with-simple-optimizations/135 我在$digest上有太多的“东西”只是很慢.我正在研究一个例子,但同时想象一下这个数据的尝试 { { id: 1,name: "name1",something: { id: 10,name: "something10" else: { id: 15,name: "else15" } } } } 但是有20个这样的对象都有嵌套对象 – 这似乎是个问题.有很多对象被解析并绑定到DOM上,$观察者只花了很长时间来讨论所有事情. 编辑2 我做了这个演示,也许我使用资源错了? http://plnkr.co/edit/QOickL0Dyi8jmuvG9mzN 但是这些物品每5秒更换一次,更换后它们全部消失然后重新出现.这是我遇到的问题. 解决方法
如果你看看$资源
documentation,你会看到正确的数据操作方式 – 使用回调函数
代替 $scope.items = Resource.query(); 尝试 Resource.query(function(data) { $scope.items = data; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |