如何跨多个 Angular 组件搜索静态数据?

How to search through static data across multiple Angular components?

我想知道如何在 Angular 中设置跨多个组件的搜索(如果可能的话)。所有将成为目标的组件都是硬编码的。

我已经尝试在 google 和其他各个位置四处寻找,唯一的结果是指使用数据库进行搜索,而我的应用程序并非如此。

您可以创建一个包含 BehaviorSubject 的服务。它将作为一个全局状态,每个注入服务的组件都会操纵可观察的或观察到的变化。

@Injectable({providedIn: 'root'})
public class Service {
items BehaviorSubject<any[]>

  constructor() {
    this.items = new BehaviorSubject([...]);
  }
}
public class Component1 {
  constructor(private _service: Service) {
    this._service.items.subscribe(pr => {})
  }
}
public class Component2 {
  constructor(private _service: Service) {}

  search() {
    this._service.items.next([...])
  }
}