в цикле и сразу проставлять им уникальный ref=, то обращаться к методу дочернего компонента уже нужно не как к объекту, а как к массиву с индексом [0].
Подробнее:
1. В шаблоне компонента явно вставляем другой компонент с некоторым методом test() и присваиваем ему ссылку ref="a111". Тогда вызвать этот метод из родительского в дочернем нужно как обычно:
this.$refs.a111.test()
И это работает. И так же описано в документации. Ок.
2. Теперь, если я буду динамически вставлять компоненты в родительском через v-for и:
<component :is="item.name" :ref="item.id" ....
то тогда метод test() в дочернем компоненте из родительского нужно уже вызывать так (!):
this.$refs['a111'][0].test()
В документации об этом ни слова. Я может что-то не понимаю, в vue новичок.
Есть гуру, которые могут объяснить данное поведение? В любом случае, может кому-нибудь пригодится, потрачен день, пока нашел решение.
#ref
Вообще обращаться так к методам дочернего компонента - не есть хорошо.
Обсуждают сегодня