一尘不染

何时完成模型绑定或ng-repeat的AngularJS事件?

angularjs

我们有一个大型模型,ng-
repeat需要几秒钟的时间才能将模型中的所有项目绑定到表单。我们想展示一个微调器,它正在发生。绑定完成时是否会触发某些事件,以便我们知道何时隐藏微调器?


阅读 221

收藏
2020-07-04

共1个答案

一尘不染

Plunkr:http://plnkr.co/edit/GzzTW4?p
= preview

使用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()');
      }
    };
  });
2020-07-04