如何在组件级别检测模型更改?



我需要能够在组件级别检测模型更改(不仅是来自前端的输入,还包括后端/应用程序更改(。

我想在模型属性满足特定条件时设置组件元素的焦点。

我正在使用 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。 看看,看一些文章。

最新更新