传方法给子组件和子组件触发事件有什么不同?
父组件传一个函数给子组件调用
父组件监听事件,子组件触发该事件
这两种方法有什么不同
https://codesandbox.io/s/vue-...
<template>
<bar @some-event="eventHandler" :do-some-thing="doSomeThing"></bar>
</template>
<script>
import Bar from "./bar";
export default {
name: "foo",
components: {Bar},
methods: {
doSomeThing(message) {
console.log(message);
},
eventHandler(message) {
console.log(message);
}
},
}
</script>
<template>
<div>
<button @click="runSomething" >prop function</button>
<button @click="triggerEvent">trigger event</button>
</div>
</template>
<script>
export default {
name: "bar",
props: {
doSomeThing: {
type: Function,
default: ()=>{}
},
},
methods: {
runSomething(){
this.doSomeThing('function');
},
triggerEvent() {
this.$emit('some-event', 'event')
}
},
}
</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
父组件传一个函数给子组件调用
--- 这是回调
父组件监听事件,子组件触发该事件
--- 这是发布订阅者模式