angularjs中判断ng-repeat是否迭代完的实例
网络编程 2021-07-04 16:46www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇angularjs中判断ng-repeat是否迭代完的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
angular中的ng-repeat指令会自动迭代数组然后你就可以将这些迭代的数据在页面逐条显示。怎样才知道数据迭代完了,其实还是有方法的,今天就介绍一种方法来判断ng-repeat是否已经迭代完。众所周知ng-repeat会为每一个repeat的对象创建一个控制器,我们就利用这个来判断。
我们要定义一个数组
$scope.testArrray = [ {id: 1, value: 1}, {id: 2, value: 2}, {id: 3, value: 3}, {id: 4, value: 4}, {id: 5, value: 5}, {id: 6, value: 6}, {id: 7, value: 7}, {id: 8, value: 8}];
然后我们repeat这个数组在html页面中使用ng-repeat指令,并为他们创建控制器。
<body ng-controller="app1Controller"> <content> <!--为每一个repeat的对象创建一个itemRepeatCtrl控制器--> <div class="item" ng-controller="itemReaptCtrl" ng-repeat="li in testArrray track by li.id"> {{li.value}} </div> </content> </body>
接着就是为他们创建子控制器
.controller('itemReaptCtrl', ['$scope', function ($scope) { $scope.$watch($scope.$last, function () { console.log("执行了一次!"); if($scope.$last){ //$scope.$last是来判断是否是一个ng-repeat对象, 如果是则$scope.$last的值为true ,反之则为false $scope.$emit('ngRepeatFinished'); // 由于是向父控制器中发布广播,所有用$emit } }) }])
然后在父控制器中接受广播
$scope.$on('ngRepeatFinished', function (data) { //接收广播,一旦repeat结束就会执行 console.log("恭喜你,repeat结束了!"); });
看控制器中有打印,证明此方法有效
有时候需要在ng-repeat 指令repeat结束之后进行一些操作时便可以使用这种方法。
以上这篇angularjs中判断ng-repeat是否迭代完的实例就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程