- 面试题:
开启浏览器窗口,部分页面会闪烁一下。是因为页面在加载数据和解析是从上向下执行的,所以前面的界面信息先加载,后面的数据替换原先加载的数据。
数据能识别插值语法,所以会被解析到。
而不能识别ng的以下几种指令,所以不会被解析到,也就没有闪烁的现象。
<body ng-app = "app" ng-controller = "wmxController">
<!--数据的单向绑定:把模型中的数据展现在视图中-->
<!--单向绑定的四种方式-->
<!-- 1. {{属性}}插值语法 特点:会闪烁 可以绑定多个值 -->
<p> {{name}} --- {{name}} </p>
<!--2. ng-bind="属性" 特点:不会闪烁 智能绑定一个值-->
<p ng-bind = "name"></p>
<!--3. ng-cloak 特点:不会闪烁(浏览器验证时是会闪烁的)。可以绑定多个值-->
<p ng-cloak>{{name}} --- {{name}}</p>
<!--4. ng-bind-template="属性" 特点:不会闪烁,可以绑定多个值-->
<!--编译器不能识别,所以会报错。实际上没有错误-->
<p ng-bind-template="{{name}} --- {{name}}"></p>
<script src='angular.js'></script>
<script>
var app = angular.module('app',[]);
app.controller('wmxController',['$scope',function ($scope) {
$scope.name = '我是小草莓';
}])
</script>
</body>