我需要能够在组件级别检测模型更改(不仅是来自前端的输入,还包括后端/应用程序更改(。
我想在模型属性满足特定条件时设置组件元素的焦点。
我正在使用 Angular 7。
我有以下模型:
export class Hello {
enabled: boolean;
name: string;
focus: boolean;
selected: boolean;
text: string;
}
以下组件引用了该模型:
export class HelloComponent {
@Input() model: Hello;
}
假设现在我有一个更新后端模型的过程,例如,"焦点"布尔值经常更改,我希望能够检测到组件中的该更改并专注于元素。
最好使用 RxJS。只需在组件中使用具有条件主题的应用程序服务事件中的subscription
即可。
如果我说得对的话
检测模型更改(不仅是来自前端的输入,还包括后端/应用程序更改(
您希望在模型更改时在组件中收到通知。
我建议使用可观察量。您可以订阅可观察(例如登录状态(。
您不必寻找更改,但会被告知更改。与您的 UI 相关联,可以绑定更改,以便 UI 自动更新。
可能是sth。 像:
loggedIn$: Observable<Boolean>;
public ngOnInit() {
this.loggedIn$ = this.loginService.getLoginState()
}
当涉及到可观察量时,"状态管理"非常有趣 - 例如,当涉及到Angular时,RXJS或NGXS。 看看,看一些文章。