Vue Router傳參解耦

2021-10-10 15:41:32 字數 1051 閱讀 5745

vue路由傳參有params和query,實際開發中獲取vue路由的引數,需要在元件中使用 $route, 會使之與其對應路由形成高度耦合,從而使元件只能在某些特定的 url 上使用,限制了其靈活性。

vue router為我們提供了路由解耦的功能,取代在元件上使用$route來獲取路由引數;

1、布林模式

在路由上新增乙個屬性props並設定為true

路由

, component:()

=>

import

(/* webpackchunkname: "customer" */

"@/views/customer/detail/index.vue"),

props:

true

}

元件

props:

},

需要注意的是 布林模式只在params傳參下有效,物件模式 函式模式兩者皆可

2、物件模式路由

}

元件

props:

}

當props是靜態時比較有用,但實際開發中還是props動態路由比較多

3、函式模式

你可以建立乙個函式返回 props。這樣你便可以將引數轉換成另一種型別,將靜態值與基於路由的值結合。

路由

, component:()

=>

import

(/* webpackchunkname: "customer" */

"@/views/customer/detail/index.vue"),

props: route =>()

}

元件

props:

},

參考:vue router官方文件

VueRouter 路由傳參

語法 演示 首頁 路由配置 const routes 注釋 id 代表id是乙個變數,值會儲存在元件例項的 route.params上 在元件上取引數的值 let home 演示 methods 路由配置 const routes 注釋 id 代表id是乙個變數,值會儲存在元件例項的 route.p...

vue router路由傳參

vue router路由傳參有兩種方法 1 params傳參 2 query傳參 用params傳參,f5強制重新整理引數會被清空,用query傳參,由於引數適用路徑傳參的所以f5強制重新整理也不會被清空。傳參強烈建議適用string import articleindex from pages t...

vue router 路由傳參

路由傳引數。在很多時候我們需要路由上面傳遞引數,比如新聞列表頁,我們需要傳遞新聞id,給新聞詳細頁。1.新聞列表頁模板 我們訪問 news 001,跳轉到新聞詳細頁,展示001的這條新聞。2.新聞詳細頁元件準備 新聞詳細頁面 route.params.id獲取路由上的引數 在js裡定義路由元件 新聞...