在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 關(guān)于自定義組件的 v-model中的事件綁定。

關(guān)于自定義組件的 v-model中的事件綁定。

vue的事件綁定語(yǔ)法是怎么運(yùn)行的?

Vue.component('base-checkbox', {
  model: {
    prop: 'checked',
    event: 'change'
  },
  props: {
    checked: Boolean
  },
  template: `
    <input
      type="checkbox"
      v-bind:checked="checked"
      v-on:change="$emit('change', $event.target.checked)"
    >
  `
})

<base-checkbox v-model="lovingVue"></base-checkbox>

上面是vue官方文檔的一段代碼
對(duì)于其中的v-on:change="$emit('change', $event.target.checked)"這一項(xiàng)理解有點(diǎn)問(wèn)題,在這里input用v-on監(jiān)聽(tīng)change事件,當(dāng)觸發(fā)change事件后,執(zhí)行$emit又一次觸發(fā)change事件,這讓不就成一個(gè)循環(huán)了嗎?

回答
編輯回答
夕顏

這個(gè)地方講的是一個(gè)子組件實(shí)現(xiàn)雙綁的操作,v-on:change觸發(fā)的change事件是由上層來(lái)接受的,組件本身不會(huì)接收到這個(gè)事件
v-on:change做的事情是將input這個(gè)dom元素的change事件轉(zhuǎn)化成Vue組件的change事件

2017年2月5日 03:33