angular.js - angularjs 用ng-reapt渲染的dom 怎么获取上面的属性
问题描述
angularjs 用ng-reapt渲染的dom 怎么获取上面的属性
问题解答
回答1:你属性的数据本来就是循环出来的,直接去获取数据就可以了,思路上永远不要想jq的方法
repeat-finish=renderFinish(item)
$scope.renderFinish=function(item){ ... kit.log(item.id)}回答2:
谢邀,@crazy4x的方式也是OK的。data-* 的一般应用场景,没使用MV*框架,使用事件代理的方式,避免列表数据变化时,需要手动添加/移除监听。通过在父级添加监听,然后获取事件对象,然后获取列表当前项的自定义属性值,下面示例提供另外一种方式,仅供参考。
<!DOCTYPE html><html lang='en' ng-app='myapp'><head> <meta charset='UTF-8'> <title>Angular Repeat-Done Demo</title> <script src='https://cdn.bootcss.com/angular.js/1.6.3/angular.min.js'></script></head><body ng-app='myapp'><p ng-controller='AppCtrl'> <h4>Users List</h4> <ul><li ng-repeat='user in users' repeat-done='renderFinish($index)'> // user {{user.id}} - {{user.name}}</li> </ul></p><script type='text/javascript'> var myapp = angular.module('myapp', []) .directive(’repeatDone’, function () { // 用于判断ng-repeat是否执行完成return function (scope, element, attrs) { if (scope.$last) { // all are renderedattrs.repeatDone && scope.$eval(attrs.repeatDone); }} }) .controller('AppCtrl', [’$scope’, function ($scope) {$scope.users = [{ id: 1, name: ’Lolo’}, { id: 2, name: ’Semlinker’}];$scope.renderFinish = function(index) { // user对象 console.log(index);}; }])</script></body></html>
相关文章:
1. php - mysql 模糊搜索问题2. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?3. python没入门,请教一个问题4. javascript - 我的站点貌似被别人克隆了, google 搜索特定文章,除了域名不一样,其他的都一样,如何解决?5. javascript - 在 vue里面用import引入js文件,结果为undefined6. 小程序怎么加外链,语句怎么写!求救新手,开文档没发现7. php如何获取访问者路由器的mac地址8. javascript - js setTimeout在双重for循环中如何使用?9. html5 - input type=’file’ 上传获取的fileList对象怎么存储于浏览器?10. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?
