pina1

//main.js
import { createApp } from 'vue'
import './style.css'
import './assets/font/iconfont.css'  //字体图标
import App from './App.vue'
import router from './router'
import {createPinia} from 'pinia'
import piniaPluginPersist from 'pinia-plugin-persist' //pinia数据持久化
const pinia = createPinia(); //实例化
pinia.use(piniaPluginPersist) //

createApp(App).use(router).use(pinia).mount('#app')

模块1

// store/index.js
import {defineStore} from 'pinia'
import {getLists} from '@/utils/http'

export const productStore = defineStore('product',{
    state:()=>({
        products:[]
    }),
    actions:{
        //异步请求,返回请求结果
        getData(){
            return new Promise((resolve,reject)=>{
                getLists().then(res=>{
                    resolve(res)
                }).catch(err=>{
                    reject(err)
                })
            })
        },
        //异步请求,直接赋值state状态
        async getData2(){
            const lists = await getLists().then(res=>res.data.data);
            this.products = lists;
        }
    }
})

//vue文件使用




//vue2文件



你可能感兴趣的:(pina1)