加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在$scope update上防止AngularJs内容闪烁

发布时间:2020-12-17 17:50:09 所属栏目:安全 来源:网络整理
导读:当我在控制器中更新我的$scope时 $scope.item = "Hello"; 然后,项目的整个DOM似乎被删除,然后再次添加.这似乎很好,但如果我有一个项目列表,并做 $scope.items = Resource.query(); 要更新所有项目,然后删除所有项目的DOM,然后重新添加,这看起来很破碎和笨拙
当我在控制器中更新我的$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;
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读