在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue router 非組件之間跳轉(zhuǎn)

vue router 非組件之間跳轉(zhuǎn)

要實(shí)現(xiàn)在的項(xiàng)目功能

我需要在我自己登錄網(wǎng)關(guān)做一個(gè)判斷
我封裝了一個(gè)axios 而這個(gè)涵數(shù)庫(kù)每一次都會(huì)請(qǐng)求后端網(wǎng)絡(luò)并返回狀態(tài)碼
當(dāng)返回狀態(tài)為:“登錄超時(shí)” 時(shí) 我router跳轉(zhuǎn) 而不是window.location='/login'

相關(guān)代碼

import Vue from 'vue'
import router from 'vue-router'
import axios from 'axios';

Vue.prototype.$ajax = axios
//這個(gè)是我封裝的一個(gè)axios
export default function(url,data={}){
    ...這里做一些網(wǎng)絡(luò)請(qǐng)求使用...
    if(登錄超時(shí)){
        ...router跳轉(zhuǎn)...//如果在這里進(jìn)行跳轉(zhuǎn)
        /*router.push('無(wú)效')*/
    }
}
回答
編輯回答
笨小蛋

封裝的文件是不是在單獨(dú)的 js 文件中,你可能需要把 router 引進(jìn)去才能用 router.push

import {router} from '@/router/index'

router/index.js

import Vue from 'vue'
import iView from 'iview'
import VueRouter from 'vue-router'
import Cookies from 'js-cookie'
import { routers } from './router'

Vue.use(VueRouter)

const RouterConfig = {
  mode: 'history',
  routes: routers
}

export const router = new VueRouter(RouterConfig)

你需要的是 new VueRouter 后的這個(gè)對(duì)象。

2017年8月28日 13:08
編輯回答
瞄小懶

此處的router是并不是import Router from 'vue-router'的Router依賴.
它實(shí)際上是路由進(jìn)行統(tǒng)一管理后導(dǎo)出的一個(gè)router對(duì)象.

// router.js
import Router from "vue-router";
import Home from 'Home.vue'
Vue.use(Router);

// 導(dǎo)出的router
export default new Router({
    routes: [
        {
          path: "/",
          name: "home",
          component: Home,
          children: [
            {
              path: "/a",
              name: "a",
              component: A
            }
        ]
})

在你需要的頁(yè)面上,通過(guò)引入這樣的對(duì)象實(shí)例,然后使用router.push方法

// 需要調(diào)用的js文件
// 引入router.js的對(duì)象
import router from 'router.js'
...
...
func(){
...
    router.push('/');
...    
}

2017年11月14日 18:15