我们有一个大型模型,ng- repeat需要几秒钟的时间才能将模型中的所有项目绑定到表单。我们想展示一个微调器,它正在发生。绑定完成时是否会触发某些事件,以便我们知道何时隐藏微调器?
Plunkr:http://plnkr.co/edit/GzzTW4?p = preview
使用ng-show如果您使用的是1.2使用的微调ng-if
ng-show
ng-if
<div ng-controller="Ctrl"> <div ng-show="complete">Complete={{complete}}</div> <div class="thing" ng-repeat="thing in things" my-post-repeat-directive> thing {{thing}} </div> </div>
在指令中,使用$ last确定渲染是否完成,然后更改定义了ng-show / ngif的变量。
function Ctrl($scope) { $scope.complete=false; $scope.doComplete = function() { $scope.complete = true; } $scope.things = [ 'A', 'B', 'C' ]; } angular.module('myApp', []) .directive('myPostRepeatDirective', function() { return function(scope, element, attrs) { if (scope.$last) { scope.$eval('doComplete()'); } }; });