1. 程式人生 > 實用技巧 >【vue】通訊、傳值的多種方式

【vue】通訊、傳值的多種方式

一、通過路由帶引數進行傳值

1、兩個元件 A和B,A元件通過query把orderId傳遞給B元件(觸發事件可以是點選事件、鉤子函式等)

this.$router.push({ path: '/conponentsB', query: { orderId: 123 } }) // 跳轉到B

2、在B元件中獲取A元件傳遞過來的引數

this.$route.query.orderId

二、通過Session Storage快取的形式進行傳遞

1、兩個元件A和B,在A元件中設定快取orderData

const orderData = { 'orderId': 123, 'price': 88 }

sessionStorage.setItem('快取名稱', JSON.stringify(orderData))

2、B元件就可以獲取在A中設定的快取了

const dataB = JSON.parse(sessionStorage.getItem('快取名稱'))

此時 dataB 就是資料 orderData

朋友們可以百度下 Session Storage(程式退出銷燬) 和 Local Storage(長期儲存) 的區別。

三、父子元件的傳值

(一)父傳子props


假如接收的引數 是動態的,比如 input輸入的內容 v-model的形式


(二)子傳父this.$emit

四、vuex

參考:https://blog.csdn.net/qq_35430000/article/details/79291287?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.channel_param