angularjs中怎么判断ng-repeat是否迭代完
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家介绍angularjs中怎么判断ng-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结束了!");
});
看控制器中有打印,证明此方法有效
关于angularjs中怎么判断ng-repeat是否迭代完就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341