使用NGXS,我在项目中有状态。我使用服务将某些数据加载到状态中。一切正常。但是,我还需要公开一个属性,该属性从状态的另一个属性获取数据并对其进行转换。我想使用.pipe来确保转换后的数据与实际数据保持同步。我只是不知道将转换逻辑放在哪里。
答案 0 :(得分:1)
您可以使用save_parms
根据状态模型来投影派生的属性,例如:
@Selector
然后在组件中直接使用该选择器:
export interface MyStateModel {
firstName: string;
lastName: string;
}
@State<MyStateModel>()
export class MyState {
// Selector to project derived 'fullName' property of the state.
@Selector()
static fullName(state: MyStateModel): string {
return state.firstName + ' ' + state.lastName;
}
// Load the data
@Action(LoadData)
loadData({patchState}: StateContext<MyStateModel>) {
patchState({
firstName: 'Joe',
lastName: 'Bloggs',
}
}
}