举例:
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title> ???<style> ???/*[ng-cloak] 属性选择器 匹配所有包含这个属性的元素*/ ???????.ng-cloak, ???[ng-cloak] { ???????display: none; ???} ???</style></head><body ng-app> ???<!-- 闪烁就是 表达式 在angularJS 还没识别之前 本来就是直接输出 然angular过了几百毫秒就识别了表达式 然后把大括号去掉 --> ???<!-- 原因就是angularJS 的代码加载需要时间 ?--> ???<!-- ng-cloak 这个类名或者属性 等angularJS加载出来之后就会把他删掉 --> ???<h1 ng-cloak class="ng-cloak">{{999999}}</h1> ???<h1 ng-cloak>{{"你好"}}</h1> ???<h1 ng-cloak>{{1+2}}</h1> ???<h1 ng-bind="‘要绑定的值‘"></h1> ???<h1 ng-bind="‘萨瓦迪卡‘"></h1> ???<!-- 1.引包 --> ???<script src="node_modules/angular/angular.js"></script> ???<!-- 1. 是吧angularJS的引包代码放到表达式的前面引入进来 (但是这种方式不推荐 因为JS代码是放到后面执行的因为JS代码影响页面渲染 不能再前面引入 得等页面和CSS加载完了再加载JS) --> ???<!-- 2. 使用ng-bind的方式 实现绑定表达式(或者值)到标签上 这种方式由于是angular的指令代码 只能等angualrJS出来了才能识别 才会生效 所以不会出现闪烁问题 --> ???<!-- 3. 使用ng-cloak类名或者属性 然后给这个类名加上display:none的属性 angular执行的时候会把这个类名或者属性删除 --> ???<!-- 因为闪烁是样式性问题就用样式解决他 同时也保留了之前写表达式的写 --></body></html>
AngularJs解决表达式闪烁的问题(ng-cloak)
原文地址:https://www.cnblogs.com/DZzzz/p/10206449.html