angular 全局监听变量

提供了一个使用 `BehaviorSubject` 的 `Store` 服务的简化示例。这是一个非常基本的状态管理模式,常见于 Angular 应用中。 创建store.js

代码概述:

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class Store {
  // 游戏大种类id
  public game_type: BehaviorSubject<any[]> = new BehaviorSubject([]);

  constructor() {}
}
在其他文件中,你可以更新 `game_type` 的值:
this.store.game_type.next(data['game_type']);
也可以订阅这个值的更改:
public sub_game_type: Subscription;
this.sub_game_type = this.store.game_type.subscribe(data => {
   if(data) {
     // do something with the updated data
   }
});
最后,当组件被销毁时,为了避免内存泄漏,你取消了对 `game_type` 更改的订阅:
ngOnDestroy() {
  this.sub_game_type.unsubscribe();
}

posted on 2020-12-29 20:08  完美前端  阅读(1051)  评论(0)    收藏  举报

导航