@fessss

Забрать данные из дочернего компонента при вызове родительского метода?

Собственно вопрос в заголовке.

У меня есть компонент обертка и внутри два компонента с данными.
Каким образом при вызове метода-1(находится в родителе) получить данные из дочернего компонента 1?
И при вызове метода-2(находится в родителе) получить данные из дочернего компонента 2?

то есть схема примерно такая
<parent-component>
    <child-component-1/>
    <child-component-2/>
    <btn @click="method1"/>
    <btn @click="method2"/>
</parent-component>


Ну и соответственно из child-component нужно получить data
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Ну во-первых по-хорошему такого быть не должно.
Компоненты общаются через пропсы и события: сверху пропсы, снизу события.
Изменились данные в компоненте 1? Он послал событие update, а родитель его поймал и что-то сделал.

Если же это какая-то многокомпонентная структура, где дочерние компоненты всегда должны быть в родительском, то родительский делает provide, дети делают inject и таким образом держат общий набор данных\методов.

Ну и через ref тоже можно, но тут следует продумать архитектуру с публичными и внутренними методами, чтоб поддержка не превратилась в ад.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Используйте $ref
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы