paq*_*375 6 vue.js nuxt.js vuejs3 pinia
假设我有一个使用 Vue 3 的简单网上商店应用程序。每当用户将商品添加到购物车时,我都会将其存储在 Pinia 本地,并将此事件信息发送到后端。
默认情况下,我会向 Pinia 存储添加一个操作,例如addItemToCart()更新本地cartItems反应变量,并将请求发送到后端,例如POST http://localhost/api/update-cart.
我的想法是在我的应用程序中引入一个服务层。我会创建一个类似的服务:
const useCartService = () => {
const cartStore = useCartStore()
const updateCartApi = useUpdateCartApi()
const addItemToCart = async (item) => {
cartStore.loading = true
await updateCartApi.mutate(item)
cartStore.items.push(item)
cartStore.loading = false
}
return {
loading: cartStore.loading,
addItemToCart,
}
}
Run Code Online (Sandbox Code Playgroud)
像这样将业务逻辑与 Pinia 商店分开有意义吗?它是否被视为一种反模式,或者这种方法在 Vue 中常用?
| 归档时间: |
|
| 查看次数: |
1742 次 |
| 最近记录: |