父组件:传递过程中,@和:的区别是什么?
<xy-data-export @before-fn="beforeFn" :export-fn="exportGoods" title="导出结果"></xy-data-export>
父组件:传递过程中,@和:的区别是什么?
<xy-data-export @before-fn="beforeFn" :export-fn="exportGoods" title="导出结果"></xy-data-export>
8 回答5.2k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答4.1k 阅读✓ 已解决
9 回答7.9k 阅读
5 回答3.2k 阅读✓ 已解决
6 回答2.8k 阅读
5 回答6.8k 阅读✓ 已解决
@是v-on的简写,是为组件绑定事件,子组件不需要接收,在子组件的$listeners上可以找到,可以使用this.$emit('xxx')手动触发,这样就会触发事件上绑定的函数
:是v-bind的简写,是为组件传递属性,这里属性可以是任意类型的,在子组件中需要使用props接收,在子组件的$props上可以找到(对于未使用props接收的属性,可以在$attrs上找到),如果传入的数据是一个函数,那么就可以使用this.xxx(),手动调用函数,但是要注意此时this指向的混淆。