微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐