这涉及MEAN.js环境。我的Angular View 中有if语句,以检查数据库是否有任何结果。如果有结果,则显示给我,如果没有,则显示错误信息。
我有一个关于Angular代码闪烁的问题:页面加载时,我会瞬间看到错误消息,然后立即显示数据库中的结果。 ng-cloak指令不起作用。
代码
下面,我包含了非常基本的Angular代码,这些代码应该清楚我在做什么。
Controller :

// Return a specific person from the database.
this.person = Persons.get({
    personId: $stateParams.personId
});
看法:
<div ng-if="personCtrl.person.length">
    <!-- Show person's details here... -->
</div>

<div ng-if="!personCtrl.person.length" ng-cloak>
    <p>Sorry, person could not be found.</p>
</div>
我尝试添加ng-cloak指令,该指令不起作用。 MEAN.js还使用Bootstrap并提供了一些CSS类,但是无论我添加哪个类,它们都不起作用:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}
简而言之:我可以添加ng-cloak指令和ng-cloak CSS类,但是它们不起作用。我可以添加style="display:none;",但是即使应该显示该错误消息也可以将其隐藏。

最佳答案

这可能是您要找的东西吗?

<div ng-show="personCtrl.person.length">
    <!-- Show person's details here... -->
</div>

<div ng-hide="personCtrl.person.length" ng-cloak>
    <p>Sorry, person could not be found.</p>
</div>

关于javascript - AngularJS ng-cloak不会阻止Mean.js中的代码闪烁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29929044/

10-09 22:11