Vue傳參總結

2021-10-07 02:40:26 字數 3643 閱讀 5266

前言

vue傳參,其實說白了就是把值從乙個.vue傳給另乙個.vue,我能想到的暫時只有三種傳值方法,分別是父子元件之間的傳值(props)、利用router傳值、vuex。這三種傳值分別對應著不同的應用場景:關係型(父子關係、路由關係)和無關係型。接下來看一看具體操作。

1、props傳值

prpos傳值的應用場景:兩個vue之間存在父子關係,即乙個.vue引入了另乙個.vue元件,那麼這種情況下採用props傳值最為方便。下面這個例子我傳了兩個值進去,如下:

>

>

:style=""

>

>

使用者id:}span

>

>

>

使用者名稱:}span

>

div>

div>

template

>

>

export

default},

curriheight:}}

}script

>

>

>

:datas

="userdata"

:curriheight

="height"

>

example

>

div>

template

>

>

import example from

'../../components/example.vue'

//引入元件

export

default

,//註冊元件

data()

, height:

100}}}

script

>

2、router傳值

router傳值的應用場景:存在路由關係,即乙個.vue頁面跳轉到另乙個.vue頁面,此時最好使用路由跳轉,在這種情況下,使用路由傳值最方便。而路由傳值也有三種方式,第一種是router物件進行傳值、第二種是路由標籤進行傳值、第三種是vue-router利用url進行傳值。

2.1 router物件傳參

>

>

home頁

@click

="toexample1"

>

按鈕1到example頁button

>

@click

="toexample2"

>

按鈕2到example頁button

>

div>

template

>

>

export

default

, height:

100}),

methods:})

;},toexample2()

});}

}}script

>

import vue from

"vue"

;import vuerouter from

"vue-router"

;vue.

use(vuerouter)

;const routerpush = vuerouter.prototype.push

vuerouter.prototype.

push

=function

push

(location)

const routes =[,

];const router =

newvuerouter()

;export

default router;

需要注意的是一下幾點:

1、.vue頁面的js部分name一定要和路由的name一致,否則容易報錯

2、在選擇router的傳值的時候,需要注意,params傳值時不能用path傳,params就像時進行post傳值一樣,不能通過路徑         傳值,所以params不能和path搭配使用

2.2 標籤傳值

>

>

:to=

"}">

example頁router-link

>

div>

template

>

>

export

default

, height:

100}}}

script

>

>

>

:style=""

>

>

使用者id:}span

>

>

>

使用者名稱:}span

>

div>

div>

template

>

>

export

default

,curriheight()

}}script

>

3、vuex

其實vuex不應該叫傳值,他是共享值,所以,在乙個vue頁面和另乙個vue頁面沒有任何關係的情況下,可以利用vuex進行傳值。具體操作如下:

1、開啟這樣的vuex的js檔案,配置一下需要共享的引數

const state=

, curriheight:

100,

}const getters=

,getcurriheight

(state)

}const mutations=

,setcurriheight

(state,curriheight)

}const actions=

,userdata)

,takecurriheight

(,curriheight)

}export

default

2、在home.vue中給變數賦值

>

import

from

'vuex'

export

default

, height:

100}),

mounted()

, methods:}}

script

>

3、在example.vue中獲取變數

>

export

default

,curriheight()

}}script

>

值得注意的點是:前後邏輯問題,主要體現在先修改vuex的state的狀態,然後再獲取,從而達到傳值的效果。

關於vuex狀態管理,可以參考vuex之狀態管理(vuex)

下一章:非vue傳參——儲存器sessionstorage和localstorage

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

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

Vue頁面跳轉時傳參總結

1 路由跳轉 跳轉到 path login 的頁面 2 路由跳轉時傳參 2.1 傳參的頁面中 2.2 引數接收 data 3 程式設計式頁面跳轉 this.router.push 跳轉到name為home的頁面 4 程式設計式頁面跳轉時傳參 4.1 params 傳參 相當於post請求,頁面跳轉時...

vue頁面跳轉傳參問題傳參

vue 的頁面跳轉以及頁面之間傳參其實是乙個很常見的問題,但是整體上會使用的次數很多,有時候頁面的跳轉不需要引數,因為他屬於那種公共的,大家都可以看到。但是當乙個頁面屬於我們非公共的頁面時,我們就需要我們的資料跟著跳轉過來了,比如說我們的個人資訊或者是個人設定,這些都需要我們去帶著引數去請求,否則服...