import { defineStore } from 'pinia'; import { ref, reactive } from 'vue'; import { getC } from '../apis/usedcar'; // 首页 export const useCounterStore = defineStore('counter', () => { const state = reactive({ convenientBrands: [], //品牌 convenientModels: [], convenientPrices: [] }) const getCon = async () => { const {data} = await getC(); const {convenientBrands,convenientModels,convenientPrices} = data.data; state.convenientBrands = convenientBrands; state.convenientModels = convenientModels; state.convenientPrices = convenientPrices; console.log(state); } return {getCon,state} })优化以上代码 或者简写
时间: 2024-03-24 16:41:11 浏览: 143
vue-pinia 示例代码
可以简写 `getCon` 方法,使用对象解构直接将 `data.data` 中的值赋值给 `state` 对象,不必再分别赋值给 `state` 中的每个属性。同时,可以省略 `console.log(state)`,因为它只是用来调试的。优化后的代码如下:
```
import { defineStore } from 'pinia';
import { reactive } from 'vue';
import { getC } from '../apis/usedcar';
export const useCounterStore = defineStore('counter', () => {
const state = reactive({
convenientBrands: [], //品牌
convenientModels: [],
convenientPrices: []
});
const getCon = async () => {
const { data } = await getC();
state = { ...data.data };
};
return { getCon, state };
});
```
这样,调用 `getCon` 方法后,`state` 中的 `convenientBrands`、`convenientModels`、`convenientPrices` 就会被更新为 `data.data` 中对应的值。
阅读全文