我有以下代码:
<view-user *ngIf="selectedUser" [userID]="selectedUser.id"></view-user>
以及我的loadUser(userID)
组件中
view-user
ngOnInit()
每当更改selectedUser时,都不会调用ngOnInit并且布局不会更改。这意味着虽然selectedUser不同,但我看到的是同一个用户。
我相信只在第一次调用ngOnInit()
,之后变量发生变化,但ngOnInit()不再被调用。
每当loadUser()
发生变化时,我如何运行userID
方法?
答案 0 :(得分:1)
您可以使用setter更改您的用户ID:
private _userID: number;
get userID() {
return this._userID;
}
@Input()
set userID(userID: number) {
this._userID = userID;
loadUser(userID);
}
或者您可以使用ngOnChanges
method。