首先我们安装pinia
yarn add pinia
# 或者使用 npm
npm install pinia
然后在项目中创建全局参数例如下面这样
import { defineStore } from "pinia";
interface User{
username: string;
}
export const userInfo = defineStore('user', {
state: () => ({
username: '1',
}),
actions: {
// 通过 action 提交 mutation 更新用户信息
saveUserInfo(user: User) {
this.username = user.username; // 更新用户名
},
},
getters: {
// 获取用户的 username
getUserInfo(state) {
return state.username;
},
}
})
然后去main.ts文件中创建应用pinia
然后在其他文件中引用创建的全局参数
启动项目就会报错
千辛万苦下我在其他文章中找到了错误原因,是因为下面在router文件中,我使用这种形式的引用会导致home页面会比pinia先加载完成,这样会导致上面的错误
解决办法将引用改为下面这样就可以正常引用了