一尘不染

Angular 2:ngFor完成时回调

angularjs

在Angular 1中,我编写了一个自定义指令(“ repeater-ready”),ng-repeat可在迭代完成后与之一起使用以调用回调方法:

if ($scope.$last === true)
{
    $timeout(() =>
    {
        $scope.$parent.$parent.$eval(someCallbackMethod);
    });
}

标记中的用法:

<li ng-repeat="item in vm.Items track by item.Identifier"
    repeater-ready="vm.CallThisWhenNgRepeatHasFinished()">

如何ngFor在Angular 2中实现类似的功能?


阅读 327

收藏
2020-07-04

共1个答案

一尘不染

您可以使用类似以下内容(ngFor局部变量):

<li *ngFor="#item in Items; #last = last" [ready]="last ? false : true">

然后,您可以使用设置器拦截输入属性的更改

  @Input()
  set ready(isReady: boolean) {
    if (isReady) someCallbackMethod();
  }
2020-07-04