youlaitech / vue3-element-admin

🔥基于 vue3 + vite5 + typescript + element-plus 构建的后台管理前端模板(配套后端源码),vue-element-admin 的 vue3 版本。
https://vue3.youlai.tech
MIT License
1.4k stars 371 forks source link

大佬,想请教下为啥store里的写法不太一样 #32

Closed warjudge closed 8 months ago

warjudge commented 8 months ago

下面这两个defineStore,为啥第一个要包一层后才导出

1709106934968 1709106964916
cshaptx4869 commented 8 months ago

Pinia 官方文档:在组件外使用 store Pinia store 依靠 pinia 实例在所有调用中共享同一个 store 实例。大多数时候,只需调用你定义的 useStore() 函数,完全开箱即用。例如,在 setup() 中,你不需要再做任何事情。但在组件之外,情况就有点不同了。 实际上,useStore() 给你的 app 自动注入了 pinia 实例。这意味着,如果 pinia 实例不能自动注入,你必须手动提供给 useStore() 函数。 你可以根据不同的应用,以不同的方式解决这个问题。

warjudge commented 8 months ago

好的,万分感谢,官网中的意思是要把usePermissionStore写在路由守卫里面,这样就不用在外面包一层了,是吧

1709111154268

但是我试了下还是会报错。。。 不过我另外一个项目中就不会报错,如下

1709111343886
warjudge commented 8 months ago

哎,算了,不纠结了,谢谢大佬!!!

cshaptx4869 commented 8 months ago

简单来说,报错是因为使用store在app.use(pinia)注册之前,如果要在pinia注册之前使用store的话,必须手动传入pinia实例

warjudge commented 8 months ago

嗯嗯,了解!