当前位置: 首页 > 面试题库 >

AngularJS-ng-cloak / ng-show元素闪烁

楚畅
2023-03-14
问题内容

我在angular.js中有指令/类ng-cloak或问题ng-show

Chrome可以正常运行,但是Firefox会通过ng-cloak或导致元素闪烁ng-show。恕我直言,它是由引起的转换ng-cloak/
ng-showstyle="display: none;",可能是Firefox的JavaScript编译器是有点慢,所以元素出现了一会儿,然后躲起来?

例:

<ul ng-show="foo != null" ng-cloak>..</ul>

问题答案:

尽管文档中没有提到它,但是将display: none;规则添加到CSS
可能还不够。如果您要在主体中加载angular.js或模板编译得不够快,请使用ng-cloak指令, 在CSS中添加以下内容:

/* 
  Allow angular.js to be loaded in body, hiding cloaked elements until 
  templates compile.  The !important is important given that there may be 
  other selectors that are more specific or come later and might alter display.  
 */
[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

如评论中所提到的,!important至关重要。例如,如果您具有以下标记

<ul class="nav">
  <li><a href="/foo" ng-cloak>{{bar}}</a></li>
</ul>

并且您碰巧正在使用bootstrap.css,以下选择器更适合您ng-cloak的ed元素

.nav > li > a {
  display: block;
}

因此,如果您在display: none;simple中包含一个规则,Bootstrap的规则将具有优先级,并且display会设置为block,因此您将在模板编译之前看到闪烁。



 类似资料:
  • 问题内容: 我已经成功创建并显示了模板,并使用AngularJS从REST服务中检索了一些数据,但是,当JSON响应仍在加载时,浏览器会在顶部显示页脚模板,当响应返回JSON数据时,页脚将显示底部。 这很快发生,但是页脚模板在转到底部之前在页面顶部闪烁。 我尝试使用ng- cloak方法,不幸的是,问题仍在发生。我按照API参考的建议将CSS放入ng- cloak 。 这是我的应用代码: 我尝试将

  • 本文向大家介绍AngularJS基础 ng-cloak 指令简单示例,包括了AngularJS基础 ng-cloak 指令简单示例的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-cloak 指令 AngularJS 实例 页面加载时防止应用闪烁: 运行结果:                   10           注意:  该实例只是演示了指令的应用。 定义和用法 ng-

  • 问题内容: 我目前正在使用这段代码来呈现列表: 但是,该元素在某些浏览器上引起一些非常小的渲染缺陷。我想知道是否可以在没有div容器的情况下执行ng- repeat,或者通过其他方法来达到相同的效果。 问题答案: 正如Andy Joslin所说,他们正在研究基于注释的ng- repeats,但显然存在太多浏览器问题。幸运的是,AngularJS 1.2添加了对重复的内置支持,而无需使用新的指令和添

  • 问题内容: 我希望仅在equals 时显示一块HTML 。到目前为止,我有以下代码,但是根据状态,它似乎并未切换元素。 index.html app.js 问题答案: 要么 JS HTML

  • 问题内容: 使用AngularJS,我需要使用选择器将HTML附加到ng-repeat元素:’objectMapParent-‘+ post._id 所以我创建了一个循环以遍历posts数组的元素的循环,对于每个元素,我在其中调用函数:createElement 该回调函数获得一个选择器elementParent,该选择器用于在DOM中查找节点,然后附加所需的HTML 但是有些事情行不通,就我而言

  • 问题内容: 我有一个带有ng-view(管理面板)的设置,可让我显示订单。我在ng- view之外有一个搜索框,可以用来修改json请求。我看到过一些访问标题等内容的帖子,但无法使它们正常工作-可能已过时。 主要应用程式内容: 管理控制器: 视图: 问题答案: 如果您要访问以外的内容,我认为更好的方法是也为外部区域创建一个控制器。然后创建服务以在控制器之间共享数据: (也可以放置在标签上-则ng-