最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談vue父子組件怎么傳值

 更新時間:2018年07月21日 09:12:52   作者:yali  
這篇文章主要介紹了淺談vue父子組件怎么傳值,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

背景:最近在做vue的項目,因為頁面的邏輯比較復(fù)雜,代碼量較多,所以就想抽離出一些組件放到component里面。問題就隨之來了。

因為vue不提倡在子組件中修改父組件的值,所以如果要這樣操作的話就要麻煩一步,而我正好需要這樣的操作,于是就查閱了資料

上父組件的代碼,引用了exp-group子組件

<exp-group :grpVisible="grpVisible" :grpData="grpData" @updateData="acceptData"></exp-group>

grpVisible 和 grpData 是傳給子組件的屬性,一個是普通類型,一個是對象

grpVisible: false,
grpData: {app: this.$route.query.app, exp: this.$route.query.exp},

接下來我要在子組件中改變這兩個屬性的值傳給父組件,先要在子組件中定義一下

props: {
 grpVisible: {
  type: Boolean,
  default: false
 },
 grpData: {
  type: Object
 }
},

首先普通類型的 grpVisible 屬性如果要修改,需要定義一個變量將 grpVisible 值復(fù)制給這個變量,然后再修改這個變量,傳遞給父組件,具體見代碼

let demo1 = this.grpVisible
demo1 = true
this.$emit('updateData', demo1) //子組件

父組件通過acceptData的參數(shù)value接收這個值

acceptData (value) {
 console.log(value)
}, //父組件

如果是對象的話,就需要用Object.assign拷貝一份新的賦值給一個變量,然后修改這個變量,傳遞給父組件,代碼如下:

let demo1 = Object.assign({}, this.grpData)
demo1.app = 'binge'
this.$emit('updateData', demo1)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

稻城县| 沧州市| 安溪县| 景宁| 易门县| 宜兴市| 晴隆县| 青龙| 香河县| 锡林浩特市| 周宁县| 兴山县| 历史| 巴林左旗| 石台县| 镶黄旗| 侯马市| 邯郸市| 育儿| 河津市| 阳泉市| 类乌齐县| 理塘县| 定南县| 屯留县| 三都| 平昌县| 连江县| 安泽县| 波密县| 铜山县| 彰化市| 铜梁县| 探索| 缙云县| 阜康市| 九寨沟县| 通城县| 怀柔区| 瑞金市| 武功县|