Svelte я использовал context + store: https://svelte.dev/repl/97b000a81b9f464fa2ce0ee7d071525b?version=3.38.3
кажись можно напрямую вызвать метод из парента: this.$parent.select(1);
не нужно так делать
а как надо?
зависит от того, что это за компоненты и что их связывает, из очевидных вариантов - vuex, либо классический вариант через props/emit с участием общего предка
emit как я понял на все приложение рассылает, т.е. событие поймают и другие компоненты, т.е. будет конфликт props - не просунуть, т.к. предок напрямую не контактирует (не вызывает) дочерний компонент
и поэтому же на emit не подписаться
а если я сделаю vuex стор, как его просунуть детям? которые напрямую не создаются
эмит работает в рамках того компонента, где он вызывается, остальное приложение тут ни при чем >>props - не просунуть довольно часто такие связанные компоненты имеют общего родителя, который имеет непосредственное отношениие к работе этих компонентов и может служить “контекстом”, т.е. передавать эти пропсы и обрабатывать ивенты но зависит от конкретного кейса, конечно
я пытаюсь повторить этот пример: https://svelte.dev/repl/97b000a81b9f464fa2ce0ee7d071525b?version=3.38.3
а как подписаться ($on) в рамках того же компонента? vue3
Подписывается родитель компонента, в шаблоне через директиву v-on
у родителя нет такой возможности - не он осоздает дочерние компненты, они прикзжают через слот
А можешь описать чуть точнее, что ты хочешь сделать? Кроме "как в свелте")
не работал со свелт, но если я правильно понял этот пример, то тебе достаточно просто эмитить из ChipItem событие, в котором ты можешь передавать выбранное время, затем в App слушать это событие, получать оттуда выбранное время и дальше уже делать с ним что угодно - хоть передавать в Chip, хоть куда
Обсуждают сегодня