【问题标题】:Vue expose a method from child component to parent componentVue 将子组件的方法暴露给父组件
【发布时间】:2019-09-02 23:09:25
【问题描述】:

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

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

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

[ 2 ] 使用父组件中的$refs 访问子组件方法

this.$refs.childComponent.childMethod() 

【问题讨论】:

  • 你应该在这里阅读答案。一切都解释得很好,便于理解。 stackoverflow.com/questions/40957008/…
  • 发射 - 绝对。它完全解耦了父元素和子元素以增加可重用性。

标签: javascript vue.js vue-component


【解决方案1】:

关于$refs,据docs

"$refs 仅在组件渲染后填充,并且 他们没有反应。它仅用作直接的逃生舱口 子操作 - 你应该避免从内部访问 $refs 模板或计算属性。”

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

【讨论】:

  • 是的..谢谢..我明白了....顺便说一句,到目前为止,我正在使用``$refs``仅用于调用 focus();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-27
  • 2019-04-27
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多