Pinia /Vuex 以及 Redux 被设计为“单一事实来源”,您可以拥有一个或多个存储来保存随处可用的应用程序数据。
Pinia 商店如下所示:
export let useProductsStore = defineStore('products', () => {
let data = ref(products);
function getList (params) {
return someSearchStuffForProducts(params);
}
return {data, getList};
});
Run Code Online (Sandbox Code Playgroud)
然后可以用作:
let productsStore = useProductsStore();
console.log(data, data.value);
productsStore.getList(params);
Run Code Online (Sandbox Code Playgroud)
我们可以创建多个商店:
let usersStore = useUsersStore();
let productsStore = useProductsStore();
let basketStore = useBasketStore();
let favoritesStore = useFavoritesStore();
Run Code Online (Sandbox Code Playgroud)
商店可以互相引用:
export let useUsersStore = defineStore('users', () => {
let productsStore = useProductsStore();
}
export let useBasketsStore = defineStore('basket', () => {
let productsStore …Run Code Online (Sandbox Code Playgroud)