欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例

 更新時(shí)間:2018年02月28日 14:02:31   作者:shuaizi96  
下面小編就為大家分享一篇vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

當(dāng)使用vue組件時(shí),組件之間經(jīng)常需要傳遞數(shù)據(jù),這里不討論傳遞一個(gè)字符串變量或者數(shù)字變量的情況,那些去看官方文檔就夠了,此處提出我在組件間傳遞對(duì)象時(shí)遇到的一個(gè)坑。

當(dāng)組件間傳遞對(duì)象時(shí),由于此對(duì)象的引用類型指向的都是一個(gè)地址,所以在子組件中修改對(duì)象的某個(gè)屬性值,父組件中的對(duì)象對(duì)應(yīng)的屬性也會(huì)隨之改變,如果有這種雙向綁定的需要,那么這也算一種不錯(cuò)的辦法,但如果不需要這種雙向綁定,那就要定義一個(gè)新的對(duì)象來(lái)復(fù)制原對(duì)象的屬性和值,坑就在這里,假如你普通的var、let 一個(gè)對(duì)象,例如:

computed: { 
  data: function () { 
   let obj={}; 
   obj=this.message//this.message是父組件傳遞的對(duì)象 
   return obj 
 } 
 }, 

將data中各屬性分別綁定到輸入框中,并修改試試,你會(huì)發(fā)現(xiàn)父組件中對(duì)應(yīng)的屬性值還是會(huì)改變,并沒(méi)有實(shí)現(xiàn)單向綁定的效果,這時(shí)就需要加一個(gè)方法了

computed: { 
 data: function () { 
  let obj=Object.assign({}, this.message); 
  return obj 
 } 
 }, 

這樣返回的data就是一個(gè)新的對(duì)象,并不會(huì)指向原對(duì)象的地址,所以再對(duì)其進(jìn)行修改就不會(huì)對(duì)父組件中的對(duì)象造成影響了。

以上這篇vue組件傳遞對(duì)象中實(shí)現(xiàn)單向綁定的示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論