Vue 學(xué)習(xí)筆記(三): 父子組件通信

父組件通過 props 向子組件傳遞

父組件:

<template>
  <div>
    <child-component :list="testList">
  </div>
</template>

<script>

import ChildComponent from '@/components/ChildComponent.vue'

export default {
  name: 'home',
  components: {
    ChildComponent
  },
  data () {
    return {
      testList: ['line-1', 'line-2', 'line-3', 'line-4']
    }
  }
}
</script>

子組件:

<template>
    <ul>
      <li v-for="(item, index) in list" :key="index">
        {{ item }}
      </li>
    </ul>
</template>

<script>
export default {
  name: 'ChildComponent',
  props: {
    list: Array
  }
}
</script>

這樣子組件就能接收并顯示父組件傳遞過來的數(shù)據(jù)了

效果圖

子組件通過$emit向父組件傳遞數(shù)據(jù)

子組件:

<template>
    <ul>
      <li v-for="(item, index) in list" :key="index" @click="handleClick(index)">
        {{ item }}
      </li>
    </ul>
</template>

<script>
export default {
  name: 'ChildComponent',
  props: {
    list: Array
  },
  methods: {
    handleClick (index) {
      this.$emit('childEvent', index)
    }
  }
}
</script>

父組件:

<template>
  <div class="home">
    <child-component :list="testList" @childEvent="childHandleClick"></child-component>
    <div>This line's index is {{ num }}</div>
  </div>
</template>

<script>

import ChildComponent from '@/components/ChildComponent.vue'

export default {
  name: 'home',
  components: {
    ChildComponent
  },
  data () {
    return {
      testList: ['line-1', 'line-2', 'line-3', 'line-4'],
      num: 'NAN'
    }
  },
  methods: {
    childHandleClick (index) {
      this.num = index
    }
  }
}
</script>
效果圖

子組件中也可以這樣簡寫:

<template>
    <ul>
      <li v-for="(item, index) in list" :key="index" @click="$emit('childEvent', index)">
        {{ item }}
      </li>
    </ul>
</template>

<script>
export default {
  name: 'ChildComponent',
  props: {
    list: Array
  }
}
</script>

這樣就不用在邏輯里聲明methods方法了, 效果是一樣的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耕肩,一起剝皮案震驚了整個(gè)濱河市龙助,隨后出現(xiàn)的幾起案子蒜焊,更是在濱河造成了極大的恐慌评姨,老刑警劉巖金顿,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)焊刹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恳蹲,“玉大人虐块,你說我怎么就攤上這事〖卫伲” “怎么了贺奠?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長错忱。 經(jīng)常有香客問我儡率,道長,這世上最難降的妖魔是什么以清? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任儿普,我火速辦了婚禮,結(jié)果婚禮上掷倔,老公的妹妹穿的比我還像新娘眉孩。我一直安慰自己,他們只是感情好勒葱,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布浪汪。 她就那樣靜靜地躺著,像睡著了一般凛虽。 火紅的嫁衣襯著肌膚如雪死遭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天涩维,我揣著相機(jī)與錄音殃姓,去河邊找鬼袁波。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜗侈,可吹牛的內(nèi)容都是我干的篷牌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼踏幻,長吁一口氣:“原來是場噩夢啊……” “哼枷颊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起该面,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對情侶失蹤夭苗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隔缀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體题造,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年猾瘸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了界赔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牵触,死狀恐怖淮悼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情揽思,我是刑警寧澤袜腥,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站钉汗,受9級(jí)特大地震影響羹令,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜儡湾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一特恬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧徐钠,春花似錦、人聲如沸役首。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽衡奥。三九已至爹袁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矮固,已是汗流浹背失息。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工譬淳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盹兢。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓邻梆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绎秒。 傳聞我的和親對象是個(gè)殘疾皇子浦妄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容