我有一个菜单,当单击某个按钮时会滑动,但一开始这个菜单是隐藏的,类似这样:
<div ng-show="menuShow">
my menu here...
</div>
问题是,当页面加载时,菜单不会隐藏(可能是因为未加载 ngShow 指令),然后它们消失(可能是因为加载了 ngShow 指令)并在菜单中产生奇怪的“闪烁效果”。
处理这个问题的最佳方法是什么?
最快、最简单的方法是添加ngCloak http://docs.angularjs.org/api/ng.directive%3angCloak指向元素的指令。
<div ng-show="menuShow" ng-cloak>
my menu here...
</div>
只要 Angular 在文档的头部同步加载,就应该可以防止闪烁。
如果您没有同步加载 Angular,那么根据文档 http://docs.angularjs.org/api/ng.directive%3angCloak,您可以手动将 CSS 添加到页面:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
如果由于某种原因这是不可能的,您可以在初始加载时将所有 Angular 内容不在页面中,但包含在ng-include
, ng-view
or ui-view
指令,或包含其自己的模板的自定义指令。 (这就是我的做法,但更多是出于结构原因)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)