ngFor循环上的函数被调用太多次

时间:2017-12-05 11:27:12

标签: javascript angular

我在循环中有一个复选框组件,它调用控制器以查看它是否在初始加载时进行了检查。它循环的列表只有三个项目,但函数被调用了24次。

HTML:

       <div class="MhSearchForm__Checkboxes">
        <div *ngFor="let propertyStatus of propertyStatuses" class="ml-3">
          <app-mh-check-box [option]="propertyStatus" [checked]="isChecked(propertyStatus)" (action)="statusSelected($event)"></app-mh-check-box>
        </div>
      </div>

JS:

  isChecked(status) {
   console.log(status);
  }

2 个答案:

答案 0 :(得分:3)

这是正常的,这是因为Angular会在每次模型更改时调用该函数,因为它不知道模型更改是否具有预期和正常的影响。

答案 1 :(得分:1)

你应该阅读有关角度生命周期钩子的信息,令人惊奇的是角度如何跟踪所有内容,如视图初始化,视图初始化之后,视图之前,doCheck等。

Angular Life Cycle Hooks

希望有帮助!