首页 > 解决方案 > Vue 将子组件的方法暴露给父组件

问题描述

在以下方法中,您认为哪种方法更好?

[1]用于将$emit 子组件的方法暴露给父组件

$emit('updateAPI',  exposeAPI({ childMethod: this.childMethod }))

或者

[2]使用$refsfrom父组件访问子组件方法

this.$refs.childComponent.childMethod() 

标签: javascriptvue.jsvue-component

解决方案


关于$refs,根据文档

“$refs 仅在组件渲染后填充,并且它们不是反应性的。它仅作为直接子操作的逃生舱口 - 您应该避免从模板或计算属性中访问 $refs。”

关于回调,我没有关于 cons 的信息,并且在 Quasar Framework 的这个组件的脚本部分中有一个很好的例子,父组件通过发出一个调用的函数接收reset并可以调度这个子函数。这就是为什么我认为这种方式更可取。


推荐阅读