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的值了
});
相关推荐
用户91743965392 小时前
基于SqlSugar开发框架的基础上快速开发H5端的移动应用
前端·负载均衡
Yesterday不想说话2 小时前
Promise的总结
前端
C_心欲无痕2 小时前
nodejs - npm和package.json文件解析
前端·npm·json
航Hang*2 小时前
第三章:网络系统建设与运维(中级)——交换技术
运维·笔记·计算机网络·华为·ensp·交换机
H@Z*rTE|i2 小时前
webpack 打包流程(极简记忆口诀)
前端·webpack·node.js
航Hang*2 小时前
第一章:网络系统建设与运维(高级)—— 多区域OSPF路由协议
运维·服务器·网络·笔记·智能路由器·ensp
@菜菜_达3 小时前
前端 HTML 入门(标签)
前端·html
智航GIS3 小时前
7.1 自定义函数
前端·javascript·python
弘毅 失败的 mian3 小时前
Git 多人协作
经验分享·笔记·git
BlackWolfSky3 小时前
React中文网课程笔记2—实战教程之井字棋游戏
笔记·react.js·游戏