亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue router 非組件之間跳轉

vue router 非組件之間跳轉

瀟湘沐 2018-08-26 11:20:58
要實現在的項目功能我需要在我自己登錄網關做一個判斷我封裝了一個axios 而這個涵數庫每一次都會請求后端網絡并返回狀態碼當返回狀態為:“登錄超時” 時 我router跳轉 而不是window.location='/login'相關代碼import Vue from 'vue'import router from 'vue-router'import axios from 'axios'; Vue.prototype.$ajax = axios//這個是我封裝的一個axiosexport default function(url,data={}){     ...這里做一些網絡請求使用...    if(登錄超時){         ...router跳轉...//如果在這里進行跳轉         /*router.push('無效')*/     } }
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

此處的router是并不是import Router from 'vue-router'的Router依賴.
它實際上是路由進行統一管理后導出的一個router對象.

// router.jsimport Router from "vue-router";import Home from 'Home.vue'Vue.use(Router);// 導出的routerexport default new Router({    routes: [
        {          path: "/",          name: "home",          component: Home,          children: [
            {              path: "/a",              name: "a",              component: A
            }
        ]
})

在你需要的頁面上,通過引入這樣的對象實例,然后使用router.push方法

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



查看完整回答
反對 回復 2018-08-27
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

封裝的文件是不是在單獨的 js 文件中,你可能需要把 router 引進去才能用 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 后的這個對象。


查看完整回答
反對 回復 2018-08-27
  • 2 回答
  • 0 關注
  • 1356 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號