vue兩個元件間值的傳遞或修改方式

weixin_33890499發表於2018-11-21

本文主要介紹了vue兩個元件間值的傳遞或修改的實現程式碼,本文給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下

12577968-9ff75fececdf0544.jpg

1、可以用公共的父元件來實現;
2、可以在store.js裡面在設定公共變數;
3、也可以用本地儲存localStorage.setItem()和localStorage.getItem(),通過修改本地儲存的值和獲取修改後的值來實現;
4、就是父子元件間的值的傳遞與修改props,這裡需要注意的是子元件裡面不 能直接修改props裡面接受的值,需要定義一箇中間變數來接受props裡的值並修改,通過emit('checkDisplay',this.displayChild);來傳給父元件
5、也可以通過路由來傳值query,params,
a、 //跳轉頁面並傳值

this.$router.push({path:'/index',query:{name:'haha'}}) 
//獲取傳遞過來的資料
this.$route.query.name

b、 或者是 //跳轉頁面並傳值
要記住的是params只能用name跳轉,如果用path來傳值則傳不過去 ,而且這種傳值頁面重新整理後所傳值將清空

this.$router.push({name:'index',params:{name:'nana'}})
  //獲取傳遞過來的資料
//歡迎加入全棧開發交流圈一起學習交流:864305860
  this.$route.params.name

c、也可以直接傳值

this.$router.push('/index/'+item.name)  //跳轉頁面並傳值,不過這種傳值前提需在路由裡面在路徑後面新增“/路徑/:引數名”
this.$route.params.引數名            //獲取資料
//歡迎加入全棧開發交流圈一起學習交流:864305860

但是這種方式會在位址列顯示資料,不安全
6、路徑地址傳值,params、query是什麼?
params:/router1/:id ,/router1/123,/router1/789 ,這裡的id叫做params,及上面方法c
query:/router1?id=123 ,/router1?id=456 ,這裡的id叫做query。和上面方法a同理
當你使用params方法傳參的時候,要在路由後面加引數名,並且傳參的時候,引數名要跟路由後面設定的引數名對應。使用query方法,就沒有這種限制,直接在跳轉裡面用就可以。

結語

感謝您的觀看,如有不足之處,歡迎批評指正。

本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。

相關文章