详解Angular的数据显示优化处理


Posted in Javascript onDecember 26, 2016

前面的几篇文章中,我们通过{{}}来渲染数据,今天就来聊聊它。

<div ng-controller="Aaa">
 <div>{{text}}</div>
</div>
<script type="text/javascript">
 alert(123);
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 }]);
</script>

详解Angular的数据显示优化处理

问题显而易见了,当我们没有点击确定的时候,下面的代码是不会执行的,所以也没回一直呈现{{text}}的状态,假设网络的带宽很慢的情况下,js脚本还没有加载进来,页面全是{{}}这样的符号,显然用户体验很显然是不好的。

我们利用ng-bind指令可解决此问题。

<div ng-controller="Aaa">
 <div ng-bind="text"></div>
</div>
<script type="text/javascript">
 alert(123)
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){ 
 $scope.text = 'xiecg';
 }]);
</script>

详解Angular的数据显示优化处理

是不是很棒 ? 问题来了,这里不单单只有一个text数据,有很多个,如何写呢?

<div ng-controller="Aaa">
 <div ng-bind-template="{{text}},{{text}}"></div>
</div>
<script type="text/javascript">
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 }]);
</script>

 ng-bind-template="{{text}},{{text}}"  多个表单式

 ng-bind="text"  单个表达式

看了上面的介绍,如果还是觉得在标签上写表达式不舒服可通过ng-cloak来解决。。。

<div ng-controller="Aaa">
 <div ng-cloak>{{text}}</div> ng-cloak在渲染之前是为none的,渲染结束後block
</div>
<script type="text/javascript">
 alert(123);
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 }]);
</script>

 ng-cloak在渲染之前是为none的,渲染结束後block。

还补充一点,在引入angular的时候,header中会嵌入一段css样式。

详解Angular的数据显示优化处理

假设後端返回给我们一段文字,上面包含了{{}}这些符号,可通过ng-non-bindable来屏蔽angular解析。

<div ng-controller="Aaa">
 <div ng-non-bindable>{{text}}</div>
</div>
<script type="text/javascript">
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 }]);
</script>

详解Angular的数据显示优化处理

如果是一段html代码,想解析的话就需要引入插件。。。

完整代码:

<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>数据显示优化处理</title>
<script type="text/javascript" src="https://code.angularjs.org/1.3.8/angular.min.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/angular.js/1.3.0-beta.13/angular-sanitize.min.js"></script>
</head>
<body>
<div ng-controller="Aaa">
 <div ng-bind-html="html"></div>
</div>
<script type="text/javascript">
 var m1 = angular.module('myApp',['ngSanitize']); //引入angular插件,需要在模块依赖插件的模块
 m1.controller('Aaa',['$scope',function($scope){
 $scope.html = '<h1>xiecg</h1>';
 }]);
</script>
</body>
</html>

详解Angular的数据显示优化处理

下面在说说angular中处理样式和属性的操作吧。

 样式:

<div ng-class="{red:true,yellow:true}">{{text}}</div>
 <div ng-controller="Aaa">
 <div ng-style="{{style}}">{{text}}</div>
</div>
<script type="text/javascript">
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 //对象类型的数据也可以渲染成内联样式
 $scope.style = {
 color : 'red',
 background : 'blue'
 };
 }]);
</script>

属性:

<div ng-controller="Aaa">
 <a ng-href="{{url}}">baidu</a>
 <a ng-attr-href="{{url}}" ng-attr-title="{{text}}">baidu</a>
</div>
<script type="text/javascript">
 var m1 = angular.module('myApp',[]);
 m1.controller('Aaa',['$scope',function($scope){
 $scope.text = 'xiecg';
 $scope.url = 'https://www.baidu.com/';
 }]);
</script>

自定义属性可通过ng-attr-**这样的形式书写。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
JQuery节点元素属性操作方法
Jun 11 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
Jan 10 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
Apr 30 Javascript
jquery实现数字输入框
Feb 22 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
ES6基础之字符串和函数的拓展详解
Aug 22 Javascript
vue实现淘宝购物车功能
Apr 20 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
Dec 26 #Javascript
手动初始化Angular的模块与控制器
Dec 26 #Javascript
详解Python中logging日志模块在多进程环境下的使用
Dec 26 #Javascript
Angular的事件和表单详解
Dec 26 #Javascript
Angular的MVC和作用域
Dec 26 #Javascript
JS中用try catch对代码运行的性能影响分析
Dec 26 #Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 #Javascript
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
php实现文件编码批量转换
2014/03/10 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
js动态生成form 并用ajax方式提交的实现方法
2016/09/09 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
jQuery设计思想
2017/03/07 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
快速了解python leveldb
2018/01/18 Python
Python I/O与进程的详细讲解
2019/03/08 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
家长评语大全
2014/01/22 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
精神文明建设标语
2014/06/16 职场文书
学校端午节活动方案
2014/08/23 职场文书
《小小的船》教学反思
2016/02/18 职场文书
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL