我有一个接受输入数据的组件:
<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
每次更改的地方