父组件:传递过程中,@和:的区别是什么?
<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>
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
@是v-on的简写,是为组件绑定事件,子组件不需要接收,在子组件的$listeners上可以找到,可以使用this.$emit('xxx')手动触发,这样就会触发事件上绑定的函数
:是v-bind的简写,是为组件传递属性,这里属性可以是任意类型的,在子组件中需要使用props接收,在子组件的$props上可以找到(对于未使用props接收的属性,可以在$attrs上找到),如果传入的数据是一个函数,那么就可以使用this.xxx(),手动调用函数,但是要注意此时this指向的混淆。