我有一个在服务中设置的项目列表,并在 ngOnInit() 中调用:
async ngOnInit(){
this.items = await this.service.getItems();
}
并且此列表是使用指令 *ngfor 呈现的。
但是,现在当变量发生任何变化时我需要刷新项目列表。因此,我需要一个仅当某个变量(我们称之为 itemCategories)更改其值时运行的事件。
我怎样才能实现这个目标?
Angular 版本是 12,我是新手
最佳答案
将你的数据填充到behaviorSubject中,然后订阅它,现在只要你的数据发生变化,你的behaviorSubject方法就会被调用,下面是一个例子:
我声明我的behaviorSubject如下:
private _resetForm$ = new BehaviorSubject<boolean>(false);
public set setResetForm(resetStatus: boolean) {
this._resetForm$.next(resetStatus);
}
public get resetForm(): Observable<boolean> {
return this._resetForm$.asObservable();
}
然后我在这里更改它:
this.setResetForm = true;
现在我将从这里获取事件,因为 setResetForm 已更改,因此我将从它获取事件:
ngOnInit(): void {
this.resetForm.subscribe((res: boolean) => {
if (res) {
console.log(res);
}
});
}
祝你好运!
关于Angular - 根据变量变化触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70412265/