如何使用multiCartService.createCart服务将新创建的购物车设置为活动购物车?
我有这样的快速订单场景,当单击添加到购物车按钮时,它会将我的快速订单表单中的项目添加到当前购物车中。然而,由于某些原因,当它是新登录的用户时,在加载快速订单页面期间,活动购物车是未定义的,所以我使用了";createCart";方法来创建一个新的购物车,这样当我从快速订单表单中添加项目时,它就会添加到新购物车中。
示例:
this.multiCartService
.createCart({ userId: this.userCurrent })
.pipe(take(1))
.subscribe(
(success) => {
},
(error) => {}
);
然而,在创建购物车并添加项目后,它将转到购物车页面以显示添加的项目,但在OOTBActiveCartService.getActive()
上,它导致未定义,这意味着没有活动的购物车,然后购物车页面为空。但是,如果您通过浏览器刷新购物车页面,则会显示项目。
我仍在使用斯巴达克斯1.5版
请告知。感谢
您是否尝试调度SetActiveCartId事件?哦,这在1.5中还不存在。
你需要升级!
我们能够找出缺少的东西。我们只需要使用extraData将新创建的购物车设置为活动为true。
将其添加到createCart
extraData: {active: true}
示例:
this.multiCartService
.createCart({ userId: this.userCurrent, extraData: {
active: true,
}, })