我们有一个大型模型,ng-repeat需要几秒钟才能将模型中的所有项目绑定到表单.我们希望在发生这种情况时展示一个微调器.绑定完成时是否会触发某些事件,因此我们知道何时隐藏微调器?
普兰克:
http://plnkr.co/edit/GzzTW4?p=preview
原文链接:https://www.f2er.com/angularjs/143396.html在微调器上使用ng-show如果使用1.2,请使用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()'); } }; });