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

<!--这样加载未完成会闪烁一下-->
<h3 ng-repeat="aricle in list"><a href="{{aricle.url}}">{{$index+1}}、{{aricle.title}}({{aricle.en}})</a></h3>


<!--可以通过添加ng-cloak解决-->
<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未加载完成:

.ng-cloak{display:none;}

 

 

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

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;}

 

其他解决方案:

 <div id="template1" ng-cloak>hello</div>
 <div id="template2" ng-cloak class="ng-cloak"> {{'hello IE7}}</div>
 <div id="template2" ng-bing="'hello IE7'"></div>

 

你可能感兴趣的:(每天进步一点点,学习永无止境,众观千象,Angular)