Pinia 踩坑记录

1、子store中如何使用router

以user.ts 这个store为例

错误写法

js 复制代码
// 说明:不能使用插件实例化router,否则获取不到router的函数
//	错误写法如下:
	import { useRouter } from "vue-router"
	actions:{
		login(){
			const router = useRouter()
			// 不信你在这里打印router,最终得到的值是undefined  
			console.log(router) // undefined
			router.push('/') // router都取不到更别说跳转了
		}
	}

正确写法

js 复制代码
import router from "@/router"; // 引入自己封装的路由  

actions:{
		login(){
			console.log(router) // 可以获取到router的实例对象
			router.push('/') // 可以跳转
		}
	}

2、router.ts中如何使用store

必须在函数体中实例,否则会报未能找到pinia,让你安装pinia的警告

错误写法

js 复制代码
import { useUserStore } from "@/store";
const useUser = useUserStore();
 
router.beforeEach((to, from, next) => {
  console.log(useUser.loginForm) // 这里是取不到store的
});

正确写法

js 复制代码
import { useUserStore } from "@/store";

router.beforeEach((to, from, next) => {
  const useUser = useUserStore();
  console.log(useUser.loginForm) // 这样就可以取出store的值了
});
相关推荐
用户2612458340161几秒前
vue学习路线(10.监视属性-watch)
前端·vue.js
Spider_Man2 分钟前
React-Router 全面解析与实战指南
前端·react.js
凌览3 分钟前
斩获 27k Star,一款开源的网站统计工具
前端·javascript·后端
丘耳3 分钟前
前端渲染方式
前端
The_cute_cat4 分钟前
Ajax和Axios的初步学习
前端·学习·ajax
Zz_waiting.5 分钟前
Javaweb - 10.4 ServletConfig 和 ServletContext
java·开发语言·前端·servlet·servletconfig·servletcontext·域对象
爱学习的小学渣5 分钟前
JS用法:Map,Set和异步函数
前端·javascript
Mike_jia12 分钟前
Icinga 2:开源监控领域的全能选手——从零构建企业级智能运维体系
前端
wuxuanok14 分钟前
Web前端开发-HTML、CSS
前端·css·html
Mike_jia14 分钟前
Dish:套接字监控领域的「听诊器」——轻量级网络健康守护神深度解析
前端