我正在使用Akita作为Statemanangement,并带有用于Angular7应用程序的基本存储。 我试图更新部分状态值,但没有成功。
状态存储数据JSON模型
$cache: {users: false}
users:{
60b08287-59f8-49b7-ba52-6331bdb61ff0:{
Id: {}
Data:{
SetAsDefault: {Type: "string", Value: "Locations"}
}
}
"id":""
}
以下是从组件调用以更新状态的查询服务。 在评论参数中提到的传递数据的地方。
query.ts
@Injectable({ providedIn: 'root' })
export class UsersStateQuery extends Query<UserState> {
constructor(protected store: UsersStore) {
super(store);
}
/**
*
* @param userID "60b08287-59f8-49b7-ba52-6331bdb61ff0"
* @param key "Data"
* @param key2 "SetAsDefault"
* @param value {Type: "string", Value: "ABC"}
*/
updateLevel2(userID:string,key,key2,value){
// this.store.update(state=>state[userID]===userID?{...state,[[userID][key][key2]]:value}:state);
// this.store.update(state=>({
// ...state,userID:{
// ...state[userID],key:{
// ...state[userID][key],key2:{
// ...state[userID][key][key2],
// key2:value
// }
// }
// }
// }));
this.store._setState( state=>({
...state,userID:{
...state[userID],key:{
...state[userID][key],key2:{
...state[userID][key][key2],
key2:value
}
}
}
}));
}
}
所以我在这里尝试更新“ SetAsDefault”值,但是没有更新。
请帮助更新部分状态。 谢谢。