编程语言
首页 > 编程语言> > javascript – Angular 2:ngFor完成后的回调

javascript – Angular 2:ngFor完成后的回调

作者:互联网

在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()">

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

解决方法:

你可以使用这样的东西(ngFor local variables):

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

那么你可以Intercept input property changes with a setter

  @Input()
  set ready(isReady: boolean) {
    if (isReady) someCallbackMethod();
  }

标签:ngfor,javascript,angular,angularjs
来源: https://codeday.me/bug/20190917/1809967.html