如何在main.js或者在router.js文件里用 路由的.push() .replace()方法,怎么个写法

也就是组件以外的地方用router跳转。试了很多次,要么不起作用,要么就报错

回答:

要先引用你写好的router

//in router/index.js
export default new Router({})
//in axios => 请求报错
import Router from './router'
let ApplySuccess = function(response){
    Router.push({ name: 'login' })
}

回答:

main.js:

// ...
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>',
  created () {
    this.$router.push('/login')
  }
})

route.js:

// ...
const route = new Router({
    routes: [
        {path: '/'},
        {path: '/login'}
    ]
})
route.push('/login')
export default route

other.js:

import route from 'route.js'
route.push('/login')

回答:

你说如何调用的,是用 this.$router.push 吗?;打印一下 this,没有 $router 自然无法使用了。

回答:

let testVueInstance = new Vue({
  el: '#app',
  router,
  store,
  VueI18n,
  template: '<App/>',
  components: {
    App
  }
})
testVueInstance.$router.push('/abc')

保存一下你在main.js里面new的根实例,用这个实例来调用方法。

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注