vue 48 router 路由跳轉

2021-08-30 15:43:54 字數 2825 閱讀 9266

標籤跳**使用建立 a 標籤 的形式

程式設計式導航:使用 window.location.href 的形式

原文:程式設計式導航

一種是:

this

.$router.

go(num)

//其中 num 是網頁向前或向後跳轉的級數(數字)

除了使用建立 a 標籤來定義導航鏈結,我們還可以借助 router 的例項方法,通過編寫**來實現。

router.

push

(location, oncomplete?

, onabort?

)

// 字串

router.

push

('home'

)// 物件

router.

push()

// 命名的路由 (類似 post 傳參)

router.

push(}

)// 帶查詢引數,變成 /register?plan=private (類似 get 傳參)

router.

push(}

)

注意:如果提供了 path,params 會被忽略,上述例子中的 query 並不屬於這種情況。取而代之的是下面例子的做法,你需要提供路由的 name 或手寫完整的帶有引數的 path:

例項:

func

(id)})

}

注意:區分this.$routethis.$router這兩個物件

其中:this.$route是路由【引數物件】,所有路由中的引數,params、query 都屬於它

其中:this.$router是乙個【導航物件】,用它可以方便的使用 js **,實現路由的前進、後退、跳轉到新的 url 位址

最簡單的

this

.$router.

push

("/home/item/"

+ id)

;// 跳轉到對應 id 子路由中

傳遞物件

this

.$router.

push()

;

傳遞命名的路由

this

.$router.

push(}

)

帶查詢引數

// 帶查詢引數,原來 /register/private 傳參變成 /register?plan=private

router.

push(}

)

例:require.ensure()實現

const notfound = r => require.ensure(, () => r(require(』@views/common/404』)), 『index』)

const login = r => require.ensure(, () => r(require(』@views/common/login』)), 『index』)

const register = r => require.ensure(, () => r(require(』@views/common/register』)), 『index』)

const main = r => require.ensure(, () => r(require(』@views/main』)), 『index』)

const myworks = r => require.ensure(, () => r(require(』@views/my/index』)), 『my』)

const myaccountsetting = r => require.ensure(, () => r(require(』@views/my/account-setting』)), 『my』)

const makeindex = r => require.ensure(, () => r(require(』@views/make/index』)), 『make』)

例:import()實現

const notfound = () => import(/* webpackchunkname: 「index」 / 『@views/common/404』)

const login = () => import(/ webpackchunkname: 「index」 / 『@views/common/login』)

const register = () => import(/ webpackchunkname: 「index」 / 『@views/common/register』)

const main = () => import(/ webpackchunkname: 「index」 / 『@views/main』)

const myworks = () => import(/ webpackchunkname: 「my」 / 『@views/my/index』)

const myaccountsetting = () => import(/ webpackchunkname: 「my」 / 『@views/my/account-setting』)

const makeindex = () => import(/ webpackchunkname: 「make」 */ 『@views/make/index』)

VUE中的路由router

vue router是vue.js官方的路由外掛程式,它和vue.js是深度整合的,適合用於構建單頁面應用。vue的單頁面應用是基於路由和元件的,路由用於設定訪問路徑,並將路徑和元件對映起來。傳統的頁面應用,是用一些超連結來實現頁面切換和跳轉的。在vue router單頁面應用中,則是路徑之間的切換...

vue路由router的實現

1.安裝router 安裝 npm install vue router或cnpm install vue router或yarn add vue router 2.在src目錄下新建乙個router.js檔案引用如下 import vue from vue import vuerouter fro...

vue中router跳轉本頁重新整理

問題 導航欄的位址發生改變但是頁面卻不重新整理 用vue router路由到當前頁面,頁面是不進行重新整理的 解決 1.this router.go 0 2.location.reload 上兩種方法 都會出現閃屏的問題 使用者體驗不好 3.用乙個空頁面做中轉,解決了閃屏的問題,可以看到導航欄路徑的...