1、可以用公共的父組件來實(shí)現(xiàn);
2、可以在store.js里面在設(shè)置公共變量;
3、也可以用本地存儲(chǔ)localStorage.setItem()和localStorage.getItem(),通過修改本地存儲(chǔ)的值和獲取修改后的值來實(shí)現(xiàn);
4、就是父子組件間的值的傳遞與修改props,這里需要注意的是子組件里面不 能直接修改props里面接受的值,需要定義一個(gè)中間變量來接受props里的值并修改,通過$emit即this.$emit('checkDisplay',this.displayChild);來傳給父組件
5、也可以通過路由來傳值query,params,
a、 //跳轉(zhuǎn)頁面并傳值
this.$router.push({path:'/index',query:{name:'haha'}}) //獲取傳遞過來的數(shù)據(jù) this.$route.query.name
b、 或者是 //跳轉(zhuǎn)頁面并傳值
要記住的是params只能用name跳轉(zhuǎn),如果用path來傳值則傳不過去 ,而且這種傳值頁面刷新后所傳值將清空
this.$router.push({name:'index',params:{name:'nana'}}) //獲取傳遞過來的數(shù)據(jù) this.$route.params.name
c、也可以直接傳值
this.$router.push('/index/'+item.name) //跳轉(zhuǎn)頁面并傳值,不過這種傳值前提需在路由里面在路徑后面添加“/路徑/:參數(shù)名” this.$route.params.參數(shù)名 //獲取數(shù)據(jù)
但是這種方式會(huì)在地址欄顯示數(shù)據(jù),不安全
6、路徑地址傳值,params、query是什么?
params:/router1/:id ,/router1/123,/router1/789 ,這里的id叫做params,及上面方法c
query:/router1?id=123 ,/router1?id=456 ,這里的id叫做query。和上面方法a同理
當(dāng)你使用params方法傳參的時(shí)候,要在路由后面加參數(shù)名,并且傳參的時(shí)候,參數(shù)名要跟路由后面設(shè)置的參數(shù)名對應(yīng)。使用query方法,就沒有這種限制,直接在跳轉(zhuǎn)里面用就可以。
總結(jié)
以上所述是小編給大家介紹的vue兩個(gè)組件間值的傳遞或修改方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com