首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 1指令更新视图速度慢

Angular 1指令更新视图速度慢
EN

Stack Overflow用户
提问于 2018-04-23 22:20:06
回答 1查看 105关注 0票数 0

我有一个屏幕,其中有一个加载微调器在启动。在这个屏幕上,我有一个将属性传递给指令的控制器。该指令有一个基于此属性的ng-show。

将上述属性设置为true后,我希望指令显示内容,并希望控制器隐藏加载微调器。

实际情况是,微调器在指令呈现ng-show之前就被隐藏了。这会导致闪烁。我希望指令在我隐藏微调器的时候已经完全加载。

这是在控制器中:

代码语言:javascript
复制
showSpinner();
$scope.showContent = true;
hideSpinner();

这是指令初始化器:

代码语言:javascript
复制
<div content-directive show-content="showContent "></div>

这是我将属性传入我的指令:

代码语言:javascript
复制
return {
        scope:
        {
            showContent : "="
        }
    };

这是我的指令标记:

代码语言:javascript
复制
<div ng-show="showContent ">
        <div style="width: 100px; height: 100px; background-color:dodgerblue"></div>
</div>
EN

回答 1

Stack Overflow用户

发布于 2018-04-23 22:40:47

看看如何在您想要显示的内容的div上使用ng-cloak。从文档中:

ngCloak指令用于防止在加载应用程序时浏览器以原始(未编译)形式短暂地显示AngularJS html模板。使用此指令可避免由html模板显示引起的不希望出现的闪烁效果。

代码语言:javascript
复制
<div ng-cloak ng-show="showContent ">
    <div style="width: 100px; height: 100px; background-color:dodgerblue"></div>
</div>

然后,同样来自文档:

当浏览器加载此

规则时,用ngCloak指令标记的所有html元素(包括它们的子元素)都将被隐藏。当AngularJS在模板编译过程中遇到此指令时,它会删除ngCloak元素属性,使编译后的元素可见。

https://docs.angularjs.org/api/ng/directive/ngCloak

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

https://stackoverflow.com/questions/49983481

复制
相关文章

相似问题

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