слота component используется. А пропсы нужны везде разные и эмит событий тоже везде разный
странная модалка если у неё в разных местах разные пропсы и события, обычно там всего 1-2 события и от 0 пропсов..
пропсы компонента или модалки?
<Modal> <component is="currentContent"> </Modal> currentContent - переключаемый контент модалки. Это преключаемые компоненты Каждому переключаемомому компоненту нужен свой список пропсов, а также каждый переключаемомому компонет эммитит свои собственные события
<Modal> <component is="currentContent" ;prop1="sadas" prop2="sdf"> </Modal> и т.д
так вот я и писал что может лучше через v-bind передавать? Потому что таких компонентов может быть 10, Получиться каща из пропсов
лучше чем в вашем варианте когда вы передается каждый пропс отдельно
ну так в моем варианте тоже v-bind только условно короткая запись. но можно передать как :v-bind="someComputed"
ок, с пропсами понятно, а как быть теперь с emit Каждый переключаемый компонент эмитит свои события, причем таких событий у компонента может быть несколько <Modal> <component is="currentContent" ;prop1="sadas" prop2="sdf" @event1="событие из компонента 1" @event2="событие из компонента 1" @event3="событие из компонента 2" > </Modal> К тому что есть более изящный способ? аля <Modal> <component is="currentContent" ;prop1="sadas" prop2="sdf" @event=Тут функция, которая смотрит, что за событие и разруливает что делать дальше > </Modal> где @event - отлавливает все пользовательские события у каждого компонента
а теперь это выглядит как не очень хорошая архитектура, я бы предпочел делать по 1 модалке для 1 компонента а не пытаться изобрести супер универсальную убер машину
а вообще для ивентов есть сокращение v-on
ну блин 10 компонентов , и пилить для каждого свою модалку - такое себе
Раньше ,мы, даже не юзая vue. грузили аяксом контент в одну и туже модалку А тут появился vue с компонентами, и все равно делать 10 модалок. Ну хз. Ладно, спасибо за мысли Только не понял вот какой моммент как v-on решает проблему множества ивентов Я спрашивал про один обработчик всех пользовательстих событии в одном месте (именно для таких кейсов)
могут быть динамичные ивенты, хз как это в итоге дебажить, но кто-то же такое запилить может..)
ну там же функция, функцию просто же дебажить. Единственный момент события должны с неймспейсами быть чтобы исключить дублирования евентов с разных компонентов
по мне это как раз тот случай когда 10-100 модалок отдельно - будут лучше
и кстати в таком случае не обьявленные пропсы станут аттрибутами. То есть у текщего компонента могут быть атрибуты из другого компонента, что тоже как то не комильфо. Это я про определение пропсов не объектом
Обсуждают сегодня