背景: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