要實(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è)axiosexport default function(url,data={}){
...這里做一些網(wǎng)絡(luò)請(qǐng)求使用... if(登錄超時(shí)){
...router跳轉(zhuǎn)...//如果在這里進(jìn)行跳轉(zhuǎn)
/*router.push('無效')*/
}
}
2 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
此處的router
是并不是import Router from 'vue-router'
的Router依賴.
它實(shí)際上是路由進(jìn)行統(tǒng)一管理后導(dǎo)出的一個(gè)router對(duì)象.
// router.jsimport Router from "vue-router";import Home from 'Home.vue'Vue.use(Router);// 導(dǎo)出的routerexport default new Router({ routes: [ { path: "/", name: "home", component: Home, children: [ { path: "/a", name: "a", component: A } ] })
在你需要的頁(yè)面上,通過引入這樣的對(duì)象實(shí)例,然后使用router.push方法
// 需要調(diào)用的js文件// 引入router.js的對(duì)象import router from 'router.js'... ... func(){ ... router.push('/'); ... }

弒天下
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
封裝的文件是不是在單獨(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ì)象。
添加回答
舉報(bào)
0/150
提交
取消