我正在构建Angular 6应用并试图了解NGXS(3.1.4)。
我已经设法实现@Actions来添加/删除商店中的购物车商品;那些确实有效。
我仍在尝试执行以下操作:
已解决
@Action(EmptyCart) emptyCart(ctx: StateContext<CartStateModel>, action: EmptyCart) {
const state = ctx.getState();
const current = { cartItems: [] };
ctx.setState({ ...state, ...current });
}
我很高兴我问了多个问题,但它们与同一个问题有关。
如果有视频或链接涵盖此类问题,那就太好了。我尝试了google / youtube搜索,并查看了NGXS的github文档。
以下是我正在使用的:
export interface CartItem {
tempID: number;
id: number;
name: string;
price: number;
quantity: number;
}
export class CartStateModel {
cartItems: CartItem[];
}
@State<CartStateModel>({
name: 'cartItems',
defaults: {
cartItems: []
}
})
感谢您的反馈意见:-)
答案 0 :(得分:0)
这是我正在使用的一种方法:
function emptyCartState() {
return {
cartItems: [],
}
}
@State<CartStateModel>({
name: 'cartItems',
defaults: emptyCartState(),
})
..
..
..
Action(EmptyCart)
emptyCart(ctx: StateContext<CartStateModel>, action: EmptyCart) {
return of(ctx.setState(emptyCartState()));
}