Vue выставить метод из дочернего компонента в родительский компонент - PullRequest
3 голосов
/ 12 апреля 2019

Среди подходов ниже, как вы думаете, что лучше практиковать ??

[1] Использование $emit для предоставления методов из дочернего компонента в родительский компонент

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

OR

[2] Использование $refs из родительского компонента для доступа к методам дочернего компонента

this.$refs.childComponent.childMethod() 

1 Ответ

1 голос
/ 12 апреля 2019

О $ refs , в соответствии с документами :

"$ refs заполняются только после визуализации компонента и не являютсяРеактивный. Он предназначен только как аварийный штрих для прямых дочерних манипуляций - вам следует избегать доступа к $ refs из шаблонов или вычисленных свойств. "

О обратных вызовах , у меня нетинформация о минусах и хороший пример в разделе сценариев этого компонента Quasar Framework, родительский компонент которого получает через emit функцию с именем reset и может отправлять эту дочернюю функцию.Вот почему я думаю, что этот способ предпочтительнее.

...