vue組件之間互相傳值:父傳子啤咽、子傳父

一、父組件向子組件傳值

方法一:通過props傳值

1.創(chuàng)建子組件渠脉,在src/components/文件夾下新建一個child.vue

2.在child.vue 中創(chuàng)建props,然后新加一個title屬性


<template>  
  <div>   
     <h1>child子組件</h1>    
    <div>{{title}}</div>  
  </div>
</template>
<script>
export default {  name: 'child',  props:["title"],}
</script><style scoped lang="less">
</style>

3.在parent.vue父組件中注冊child組件宇整,并在template中加入child標簽,標簽中綁定title屬性芋膘,并在data中賦值

<template>   
 <div>      
  <h1>parent父組件</h1>      
  <child v-bind:title="parentTitle"></child>    
</div>
</template>
<script>import child from './child';//引用子組件export default {  name: 'parent',  data(){      return
 {          parentTitle:"hello,child"      }  
},  components:{      child  }}
</script>
<style scoped lang="less"></style>

父組件向子組件傳值總結:

  • 子組件在props中創(chuàng)建一個屬性鳞青,用以接收父組件傳過來的值

  • 父組件中注冊子組件

  • 在子組件標簽中添加子組件props中創(chuàng)建的屬性

  • 把需要傳給子組件的值賦給該屬性

方法二:通過ref屬性,父組件調用子組件的方法索赏,把要傳的值作為參數(shù)傳給子組件盼玄,子組件獲取該參數(shù)贴彼,并使用

子組件代碼

<template>  
  <div>      
  <h1>child子組件</h1>    
    <div>{{num}}</div>  
  </div>
</template>
<script>
export default {  name: 'child',  props:["title"],  
data(){        return {            isshow:true,            num:0,        }  
},  methods:{      getVal(val){          this.num = val;      }  
}}
</script>
<style scoped lang="less">
</style>

父組件代碼

<template>  
  <div>    
    <h1>parent父組件</h1>   
     <child ref="childnode">
</child> 
   </div>
</template>
<script>import child from './child';//引用子組件export default { 
 name: 'parent',  data()
{      return {  
        num:100    
  } 
 },  components:{   
   child  }, 
 mounted(){    
  this.init();  
}, 
 methods:{   
   init(){      
   //獲取子組件屬性      
    this.isshow = this.$refs.childnode.isshow;        
  console.log("isshow:"+this.isshow);          
//父組件調用子組件方法潜腻,傳值給子組件          this.$refs.childnode.getVal(this.num);   
  },  }}</script><style scoped lang="less">
</style>

二、子組件向父組件傳值

1.在子組件中創(chuàng)建一個按鈕器仗,給按鈕綁定一個點擊事件

2.在響應該點擊事件的函數(shù)中使用$emit來觸發(fā)一個自定義事件融涣,并傳遞一個參數(shù)

<template>  
  <div>    
    <h1>child子組件</h1>    
    <button @click="sendMsgToParent">向父組件傳值</button> 
   </div>
</template>
<script>export default {
  name: 'child',  methods:{  
    sendMsgToParent(){          this.$emit("listenToChildEvent","this message is from child")  
    } 
 }}
</script>
<style scoped lang="less"></style>

3.在父組件中的子標簽中監(jiān)聽該自定義事件并添加一個響應該事件的處理方法

<template>  
  <div>     
   <h1>parent父組件</h1>   
     <child v-on:listenToChildEvent="showMsgFromChild"></child>  
  </div></template><script>import child from './child';//引用子組件export default {
  name: 'parent',  data(){
  }, 
 components:{      child 
 },  methods:{    
  showMsgFromChild(msg)
{          console.log(msg)      } 
 }
}
</script>
<style scoped lang="less"></style>

子組件向父組件傳值總結:

  • 子組件中需要以某種方式例如點擊事件的方法來觸發(fā)一個自定義事件

  • 將需要傳的值作為$emit的第二個參數(shù),該值將作為實參傳給響應自定義事件的方法

  • 在父組件中注冊子組件并在子組件標簽上綁定對自定義事件的監(jiān)聽

總之精钮,在通信中威鹿,無論是子組件向父組件傳值還是父組件向子組件傳值,他們都有一個共同點就是有中間介質轨香,子向父的介質是自定義事件忽你,父向子的介質是props中的屬性或者借助子組件的ref屬性。

image
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末臂容,一起剝皮案震驚了整個濱河市科雳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脓杉,老刑警劉巖糟秘,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異球散,居然都是意外死亡尿赚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌净,“玉大人悲龟,你說我怎么就攤上這事”埃” “怎么了躲舌?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長性雄。 經常有香客問我没卸,道長,這世上最難降的妖魔是什么秒旋? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任约计,我火速辦了婚禮,結果婚禮上迁筛,老公的妹妹穿的比我還像新娘煤蚌。我一直安慰自己,他們只是感情好细卧,可當我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布尉桩。 她就那樣靜靜地躺著,像睡著了一般贪庙。 火紅的嫁衣襯著肌膚如雪蜘犁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天止邮,我揣著相機與錄音这橙,去河邊找鬼。 笑死导披,一個胖子當著我的面吹牛屈扎,可吹牛的內容都是我干的。 我是一名探鬼主播撩匕,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼鹰晨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了止毕?” 一聲冷哼從身側響起模蜡,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滓技,沒想到半個月后哩牍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡令漂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年膝昆,在試婚紗的時候發(fā)現(xiàn)自己被綠了丸边。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡荚孵,死狀恐怖妹窖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情收叶,我是刑警寧澤骄呼,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站判没,受9級特大地震影響蜓萄,放射性物質發(fā)生泄漏。R本人自食惡果不足惜澄峰,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一嫉沽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俏竞,春花似錦绸硕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至席楚,卻和暖如春咬崔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酣胀。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工刁赦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娶聘,地道東北人闻镶。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像丸升,于是被迫代替她去往敵國和親铆农。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內容

  • 三種傳值情況的實現(xiàn)步驟描述 : VUE是單向數(shù)據(jù)流岭皂。父組件內的數(shù)據(jù)的作用域就是父組件,子組件或者兄弟組件都無法直接...
    谷子多閱讀 2,241評論 0 2
  • 廢話不多說直接走起 環(huán)境搭建步驟: 一.父組件向子組件傳值 1.創(chuàng)建子組件沼头,在src/components/文件夾...
    妄自閱讀 1,144評論 0 7
  • 那是一只從頭頂綠到脖頸的一只公鴨爷绘,養(yǎng)了有幾年了书劝,它是二姨搬家后無法帶走,送給我家養(yǎng)的一群鴨子中的唯一一只公鴨...
    素璧閱讀 754評論 0 1
  • 幼時土至, 千層月餅购对, 庭院香燭。 明月高照陶因, 秋高氣爽骡苞。 祖孫兩人, 茯茶調飲楷扬。 少時解幽, 跟隨父母, 門前樹下烘苹, 依...
    借問歸年閱讀 204評論 0 1
  • 今天路過176班的時候亚铁,整個班都情緒低迷。五六節(jié)有他們班的課螟加,鈴聲響了許久之后徘溢,我故意遲到幾分鐘走上去。開...
    曼曼哈頓閱讀 202評論 0 1