对于angular 的 ngCloak指令,作用就是解决页面突然闪烁的问题。
然后再结合 ng-bind 替换 {{文字}}。
代码实现
var ngCloakDirective = ngDirective({
compile:function(element,attr){
attr.$set('ngCloak',undefined);
element.removeClass('ng-cloak');
}
})
我们可看见 angular 将带有ng-cloak的元素设置为 display:none; 隐藏掉,在等到angular 解析到带有ng-clock的节点的时候,会把attr和class 同时移除掉,这样就可以防止节点的闪烁了。
同时,angular 会在页面上面添加一段css 。
ps: 现实情况下,会遇到js 还没有被加载好的时候,页面先绘制,所以还是会出现短暂的闪烁效果。我们需要把那段css 添加到我们的css 文件中去。