我正在使用 Angular 信号和 NGXS 状态管理,并且正在尝试创建一个计算信号,该信号在我的输入信号改变时和存储更新时都会更新。
我有一个懒惰的选择器:
static searchById = (id: number) => createSelector(
[ActiveDashboardSelectors.getSlices.searches],
searches => searches.find(search => search.id === id)
);
在我的组件中,我有一个针对 searchId 的输入信号:
searchId = input.required<number>();
我想创建一个计算信号,既能对 searchId 更改做出反应,又能对存储更新做出反应。我最初尝试这样做:
public search = computed(() => select(ActiveDashboardSelectors.searchById(this.searchId())));
但是,这会导致嵌套信号(Signal<Signal<Search>>
)。编写对我的 searchId 输入信号和 NGXS 的状态更新做出反应的计算信号的最佳方法是什么?