vue项目中,我们经常会在在外部文件中使用router做一些拦截、跳转之类工作,但是这时候使用this.$router是无效的,undefined的。就是this的没有指向,也是undefined的,this中就自然没有$router

不比.vue结尾的组件文件,最终都会被注册到main.js中,而main.js中我们一般已经导入了index.js中创建的VueRouter对象,所有vue结尾的文件使用也就自然生效


这时候就需要我们手动导入下,在外部js中用@符号以绝对路径引入已定义的路由

import router from '@/router'
或者
import router from '@/router/index'

如下图,鼠标点击,显示链接到了在index.js中VueRouter对象

  保存后再运行,使用this.$router或$router就可以找到了

Logo

前往低代码交流专区

更多推荐