关于ng-cloak解决闪现问题的一点坑
angular的页面可以使用{{express}}来执行表达式,但是浏览器的加载速度太快时,页面会出现{{}}这样的闪现,网上的解决方案大都是两种,
ng-cloak和ng-bind,两种方式的具体用法这里不再详述,网上都是,这里主要写下自己碰到的坑。
使用ng-cloak时,如果页面上有多个元素用了ng-cloak,此时就会出现问题,当其中一个元素已经加载完毕,angular就会把所有ng-cloak去除掉,
导致其他元素展示出来,包括未执行的{{}},我们想要解决的闪现问题又出现了,所以最好的解决方法是使用ng-bind。
但是,我的页面上元素太多,使用{{}}的页面也多,只能考虑其他方案,千辛万苦总算找到一种解决方法$viewContentLoaded
1 <!--CSS代码--> 2 .my-cloak { 3 display : none !important 4 } 5 6 <!--HTML代码--> 7 <div class="my-cloak"> 8 </div> 9 10 <!--JS代码--> 11 $scope.$watch("$viewContentLoaded", function() { 12 angular.element(".my-cloak").removeClass("my-cloak"); 13 })
这个方法的坏处就是页面的所有元素加载完之前,页面是空白的……,所有最好的方法还是使用ng-bind。
                    
                
                
            
        
浙公网安备 33010602011771号