假设有以下这个例子:
<template> <test1 :handleChange="onChange" /> <test2 @handleChange="onChange" /> </template> <script> ... methods: { onChange(data) {...}} ... </script>
<template> <div @click="onChange"></div></template><script>... props: { handleChange: Function},methods: { onChange() { this.handleChange(123) } } ...</script>
<template> <div @click="onChange"></div></template><script>... methods: { onChange() { this.$emit("handleChange", 123) } } ...</script>
test1 组件和 test2 组件,都向外部委派了事件,但是一个是用的属性方法的形式,一个是用的委派事件的形式。父组件进行调用的时候,发现它俩都能执行相同的事儿。
请问它们的区别是什么呢?
我目前知道的区别是:
1、使用属性的形式,相当于把外部的方法传递给子组件来进行调用;而委派事件的方式,是子组件向外部报告一个事件,由外部来进行接收执行。
冉冉说
森林海
相关分类