ChangeDetectionStrategy.OnPush不起作用?

时间:2019-11-20 22:04:58

标签: angular angular6 angular5 angular8

我有一个接受输入数据的组件:

<vr-savefile-dialog
  (saveCallback)="saveCallback($event)"
  [title]="'Save profile'"
  [data]="getDefaultProfile()"
  [action]="action.Save"
  [type]="'profile'"
></vr-savefile-dialog>

您可以看到data来自getDefaultProfile(),并且可以更改。

但是问题是,当更改输入数据时,我看不到变量data中组件内部的变化。

@Component({
  selector: "vr-saveprofile-dialog",
  templateUrl: "./saveprofile-dialog.component.html",
  styleUrls: ["./saveprofile-dialog.component.scss"],
  changeDetection: ChangeDetectionStrategy.OnPush
})

据我所知: ChangeDetectionStrategy.OnPush仅在输入数据被更改时才有效。但就我而言,不是。

  public getDefaultProfile(): ProfileMenuItem {
    return this.profiles.find(profile => profile.isDefault);
  }

this.profiles每次更改的地方

0 个答案:

没有答案