数据显示优化处理以及插件简介
(上一章节使用ng-value提高了表单的用户体验,那么我们在HTML中写入内容是是否可以提高用户体验呢?情况类似ng-value与value,接下来我们将进行详细的分析)
代码示例:
<script>
var m=angular.module('myApp',[]);
m.controller('Aaa',['$scope',function($scope){
$scope.text = "hello";
}]);
</script>
<div ng-controller="Aaa">
<div>{{text}}</div>
</div>
<script type="text/javascript">
alert(1);
</script>
页面结果展示:
使用ng-bind,使用方法与ng-value相同
只支持一个表达式,不支持多个表达式
代码示例:
<div ng-bind="text"></div>
页面展示结果:
ng-bind-template:既支持一个表达式,也支持多个表达式
代码示例:
<div ng-bind-template="{{text}},{{text}}"></div>
ng-value-html:当我们的数据包含标签,并需要解析标签输出而不是以字符串的形式输出时,我们需要使用ng-value-html。(由于该方法不常用故代码不在angulae.min.js中,我们在使用此类方法时我们需要另外其他的包。可在http://www.bootcdn.dn/angular.js该网址上进行查看,即可以看做一个插件也可看做模块)
页面结果展示:
使用ng-value-html后:
代码示例:
<script src="angular.min.js"></script>
<script src="http://cdn.bootcss.com/angular.js/1.3.0-beta.13/angular-sanitize.min.js"></script>
<script>
var m = angular.module('myApp',['ngSanitize']);//引入相应模块
m.controller('Aaa',['$scope',function($scope){
$scope.text = "<h1>hello</h1>";
}]);
</script>
<div ng-controller="Aaa">
<div ng-bind-html="text"></div>
</div>
页面结果展示:
ng-cloak:通过控制CSS来解决用户体验,没有解析完时该标签display:none,当JS解析完该标签display:block;
代码示例:
<div ng-cloak>{{text}}</div>
ng-non-bindable:当不需要将大括号解析,需要将大括号输出时。
代码示例:
<div ng-non-bindable>{{text}}</div>
页面结果展示: