Vue中的傳參

2021-10-08 16:33:10 字數 2374 閱讀 9980

一、普通方式

1、動態路由引數

//路由

, component: resolve =>

require([

'../views/page/pagedetail.vue'

], resolve)},

//頁面使用

"/pagedetail/:id"

>詳情<

/router-link>

//獲取引數

this

.$route.params.id

2、params傳參(重新整理資料丟失、使用時用name進行跳轉)

, component: resolve =>

require([

'../views/page/pagedetail.vue'

], resolve)},

//頁面使用

"$router.push()"

>詳情<

/div>

//獲取引數

this

.$route.params.id

3、query傳參,重新整理頁面資料不會丟失

, component: resolve =>

require([

'../views/page/pagedetail.vue'

], resolve)},

//頁面使用

"$router.push()"

>詳情<

/div>

//獲取引數

this

.$route.query.id

二、vue-router使用props傳參

1、布林模式

, component: resolve =>

require([

'../views/page/pagedetail.vue'],

resolve)

, props:

true

//如果 props 被設定為 true,route.params 將會被設定為元件屬性},

//頁面使用 跳轉detail

"$router.push()"

>詳情<

/div>

//detail頁面使用props接收

props:

['id'

] console.

log(

this

.id)

/// 列印出111

2、物件模式

, component: resolve =>

require([

'../views/page/pagedetail.vue'],

resolve)

, props:

//如果 props 是乙個物件,它會被按原樣設定為元件屬性。當 props 是靜態的時候有用。},

//頁面使用 跳轉detail

"$router.push()"

>詳情<

/div>

//detail頁面使用props接收

props:

['name'

] console.

log(

this

.name)

//列印出test

3、函式模式

, component: resolve =>

require([

'../views/page/pagedetail.vue'],

resolve)

, props:

(route)

=>()

//這樣你便可以將引數轉換成另一種型別,將靜態值與基於路由的值結合等等},

//頁面使用 跳轉detail

push()

,params:

>詳情<

/div>

//detail頁面使用props接收

props:

['query'

,'params'

] console.

log(

this

.query)

//列印出111

console.

log(

this

.params)

//列印出test

更多詳情請檢視vue-router官方文件

Vue中的路由傳參

1.通過query獲取引數 建立路由物件,將路由物件註冊到vue例項中去 var 頁面模板物件 var router newvuerouter var vm newvue methods router router 在頁面上新增router view和router link標籤,並傳參 監聽的路由鏈...

vue傳參,元件之間傳參 路由傳參 vuex

詳見 兩種情況 params 和 query 都可以在目標元件的生命週期裡,通過 this.route 進行獲取 例 首頁中精選主題的路由傳參 精選主題 1 簡單舉例 a 一般會新建 store 資料夾,在 index.js 初始化 vuex b 在 main.js 中,引入 c 例如,在我的頁面修...

vue中元件間的傳參

1.父傳子 父元件準備乙個資料,通過自定義屬性給子元件賦值,進行傳遞 在子元件中通過 props 屬性來接收引數 2.子傳父 在子元件準備乙個資料,通過 this.emit 自定義事件 引數 進行傳遞。this.emit 相當於要執行子元件的自定義事件,並且傳入引數 在父元件中給子元件註冊好自定義事...