首页 > 解决方案 > 使用 ngClass 删除类时,如何确定元素以该类开头?

问题描述

我的意思的一个简单例子:

HTML:

<div ng-class="visibleClass"></div>

JS:

$scope.visibleClass = "invisible";
// Wait until the page loads
$scope.visibleClass = "";

CSS:

div.invisible {
  display: none;
}

在这里,div 应该从不可见开始,并在页面加载时变得可见。

实际发生的是它在一两帧可见,然后在 js 文件加载时变得可见。如果有过渡,这一点尤其明显,并且元素从其可见状态过渡到其不可见状态,而它应该刚刚开始处于其不可见状态。

我怎样才能避免这种行为?

即,当我使用 ngClass 删除一个类时,我如何确定该元素以该类开始?

标签: javascriptangularjsng-class

解决方案


使用ng-cloak指令。

从文档:

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

该指令可以应用于<body>元素,但首选用法是将多个ngCloak指令应用于页面的一小部分,以允许渐进式呈现浏览器视图。

有关更多信息,请参阅AngularJSng-cloak指令 API 参考


推荐阅读