如何监听Angularjs列表数据是否渲染完毕,配合jQuery操作DOM,指令的规范
来源:互联网 发布:淘宝达人如何发帖 编辑:程序博客网 时间:2024/06/06 05:15
AngularJs和Jquery的有什么不同?
Jquery的主要目的是简化Js编写,专注于浏览器跨平台,主要用来操作DOM.
AngularJs主要关注Html数据的获取和呈现,以及应对日益复杂的Web应用需求,使得开发庞大的Web应用能够更加容易。情景:在做物流信息的时候,最新的信息要有最新的标签。但是angularjs是异步加载,在页面循环数据的时候,取标签
$("#logistics_ul li")
是不会取到的(下图的ul标签id)。那么有什么方法来判断页面的数据是否渲染完毕,从而用jQuery来操作DOM呢。解决方案参考 http://www.itnose.net/detail/6100484.html
controller
//返回的数据(json) 加一个元素 快递公司 date[0].Express_Com=condata.logisticsname($rootScope.logistics_info.shippercode); $scope.logistic = date[0]; $scope.$on('ngRepeatFinished', function (ngRepeatFinishedEvent) { //下面是在table render完成后执行的js $("#logistics_ul li:last span").before("<span class='fr mjc-lv '>最新 !</span>") });
html页面
<div class="pad_05 bg_op_07 mt_05"> <ul id="logistics_ul" class="pad_05" > <li class="overhide mt_2" ng-repeat="data in logistic.Traces" on-finish-render-filters > <span class="logistic_top"> </span> <div class="pad_05 logistic_left"> <div>{{data.AcceptTime}}</div> <div class="bd_bottom_black">{{data.AcceptStation}}</div> </div> </li> </ul> </div>
directive
.directive('onFinishRenderFilters',['$timeout', function ($timeout) { return { restrict: 'A', link: function(scope, element, attr) { if (scope.$last === true) { $timeout(function() { scope.$emit('ngRepeatFinished'); }); } } };}]);
看看效果
但是html用的是on-finish-render-filters
怎么就匹配到directive里面的onFinishRenderFilters
?
http://www.hubwiz.com/class/54f3ba65e564e50cfccbad4b
指令的规范化
AngularJS在进行匹配检测之前,首先对HTML元素的标签和属性名转化成规范的驼峰式字符串:
去除名称前缀的x-和data-
以: , - 或 _ 为分割符,将字符串切分成单词,除第一个单词外,其余单词首字母大写
重新拼接各单词
例如,下面的写法都等效地匹配ngBind指令:
<span ng-bind="name"></span> <br/><span ng:bind="name"></span> <br/><span ng_bind="name"></span> <br/><span data-ng-bind="name"></span> <br/><span x-ng-bind="name"></span> <br/>
所以,我的on-finish-render-filters
被规范为onFinishRenderFilters
0 0
- 如何监听Angularjs列表数据是否渲染完毕,配合jQuery操作DOM,指令的规范
- 《AngularJS》--监听angularjs列表数据是否渲染完毕
- angularjs列表数据是否渲染完毕
- 如何在angular指令渲染模板完毕后再执行link方法,render完毕再在link中操作dom节点
- AngularJs渲染完毕后执行指定操作
- angularJS DOM操作相关指令
- AngularJs--ng-repeate渲染完毕后执行的代码
- angularJS 常用的渲染指令、事件指令和节点指令
- didMoveToSuperview可以监听父类数据是否加载完毕
- AngularJS 04(监听、指令)
- angularjs对json数据的操作--收货地址列表
- Vue监听数据渲染DOM完以后执行某个函数
- Android 监听activity填充渲染完毕
- angularjs 的一个图片列表指令
- jQuery 的dom操作
- jQuery 的 DOM操作
- jQuery的DOM操作
- JQuery的Dom操作
- HttpClient josn网络传输(二进制的byte流)
- Activity与Service通信之自定义接口
- 从服务端架构设计角度,深入理解大型APP架构升级
- IDE eclipse PyDev插件安装
- Linux服务器集群系统(LVS)
- 如何监听Angularjs列表数据是否渲染完毕,配合jQuery操作DOM,指令的规范
- 新建的maven项目不显示src/main/java文件的解决办法
- EXT.NET MVC5 工作随笔06 保存前提示框 及formpanel 的有效性判断
- ubuntu16.04安装ibus中文输入法
- Swift之Umbrella header .h not found
- tcp 相关的内核变量
- C++拷贝欧构造函数
- CSDN下载页面无下载按钮 谷歌插件(净网大师导致)
- PHP--封装一个下载图片的方法