для каждого компонента? или есть более элегантное решение (vuex и подобное не предлагать)?
ну либо стейт либо пропсы да
Provide/inject
Думаю что проблема в выбранной архитектуре. Выбранный путь рекурсивной вложенности компонент друг в друга в таких ситуациях не польза, а вред. Нужен один суперкомпонент, который будет сам по себе монолитным. Таким образом будет единое пространство данных внутри
Прокинуть 1 prop с объектом, a-ля как в scoped slots
а я как раз размышляю сейчас над архитектурой... смотрите в чём задача - есть массив данных который надо завернуть в некую html-обёртку. для этой обёртки, разумеется, есть компонент. но! помимо данных надо в эту же обёртку завернуть некие интерактивные сущности, т.е. для них нужно написать обработчики. в итоге варианты: 1. компонент дёргать циклом только для данных, для интерактива напрямую скопипастить в родитель код компонента и навесить нужные обработчики - самое простое, но очень топорно и код люто захламляется. пишем компонент, а потом все равно его копипастим. 2. дёргаем компонент как обёртку, а через слот передаём данные (заодно и пропсы не надо прокидывать) или через слот вешаем обработчики. с точки зрения организации кода уже получше - но все равно каша мала получается. "родитель" будет загажен обрубками дочернего компонента в виде слотов. 3. пишем два компонента - один для данных, другой для интерактива. в итоге все равно дублируем код. но, например, для интерактива можно можно использовать компонент данных просто как источник разметки - это уже какая-то рекурсия получается...
Объясни псевдокодом что ли
> есть массив данных который надо завернуть в некую html-обёртку Никуда не надо заворачивать массивы. Vue сам это сделает, когда ты v-for напишешь
Обсуждают сегодня