vue3使用pinia

在main.js注册pinia


import {createPinia} from "pinia";

import "./permission";

const pinia=createPinia()

app.use(pinia)

// store app.ts


import {defineStore} from "pinia"

interface IState {

  projectType:string

}

export const useAppStore = defineStore({

  id:"apps",

  state: ():iState=>({

    projectType :"aaa"

}),

action:{

  setProjectType(projectType:string) {

  this.projectType = projectType

},

},

});

//permiss.js


import router from "./router";

import {useAppStore} from "@/srores/apps";

router.beforeEach(async (to ,from,next)=>{

  const apps = useAppStore()

  let projectType= to.query.projectType?to.query.projectType :"aaa"

apps.setProjectType(projectType)

// 路由发生变化修改页面title

if(to.meta.title){

  document.title=to.meta.title

}

next();

})

//页面使用


import {useAppStore} from "@/srores/apps";

  const apps = useAppStore()

const projectType = computed({

    get(){

    retun apps.projectType

    },

  set(){}

  })

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容