Angularjs 初始化未加载完毕闪烁问题解决 ng-cloak

来源:互联网 发布:php建行支付接口demo 编辑:程序博客网 时间:2024/05/21 18:39
Html代码  收藏代码
  1. <!--这样加载未完成会闪烁一下-->  
  2. <h3 ng-repeat="aricle in list"><a href="{{aricle.url}}">{{$index+1}}、{{aricle.title}}({{aricle.en}})</a></h3>  
  3.   
  4.   
  5. <!--可以通过添加ng-cloak解决-->  
  6. <h3 ng-repeat="aricle in list" ng-cloak class="ng-cloak"><a href="{{aricle.url}}">{{$index+1}}、{{aricle.title}}({{aricle.en}})</a></h3>  

 

测试表明需添加css样式才能生效,原因是页面加载的时候angularjs未加载完成:

Css代码  收藏代码
  1. .ng-cloak{display:none;}  

 

 

原因是angularjs源码最后添加该样式隐藏:

Js代码  收藏代码
  1. window.angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}  

 

其他解决方案:

Html代码  收藏代码
  1. <div id="template1" ng-cloak>hello</div>  
  2. <div id="template2" ng-cloak class="ng-cloak"> {{'hello IE7}}</div>  
  3. <div id="template2" ng-bing="'hello IE7'"></div>  

 


0 0