背景:Vue ES6,子元件在父元件create後調用,並且事件觸發onclick已經被封裝在底層元件(子元件的子元件)
問題:在父元件中無事件綁定的情況下,子元件怎麼傳參父元件?
EventBus (較不符合題目要求的無事件綁定的情形)
Vuex
發貨
父子組件通訊
$emit()
子元件使用v-on監聽一個事件,然後觸發的時候,把事件發出去,就是$emit,然後父元件中同樣使用v-on監聽你發出去的事件,然後執行你父元件定義的事件。
樓上的已經說明白了,我是來補個粟子的child.vue
child.vue
<template> <p id="test">向父传递</p> </template> <script> export default { methods: { $('#test').click(()=>{ this.$emit('data', '这是我要传的参数'); }) } } </script>
parent.vue
<template> <child @data="fnSS"></child> </template> <script> import child from './child'; export default { components: { tagInput } methods: { fnSS(value) { alert(value); }, } } </script>
子元件this.$emit("event",data)
父元件@event
EventBus (較不符合題目要求的無事件綁定的情形)
Vuex
發貨
父子組件通訊
$emit()
子元件使用v-on監聽一個事件,然後觸發的時候,把事件發出去,就是$emit,然後父元件中同樣使用v-on監聽你發出去的事件,然後執行你父元件定義的事件。
樓上的已經說明白了,我是來補個粟子的
child.vue
parent.vue
$emit()
子元件this.$emit("event",data)
父元件@event