и slide
в slide нужно вызывать функцию которая определяет видим ли сейчас слайд или нет.
Суть вопроса, как вызывать функцию проверки видимости потомков, при скроллинге родителя?
Реактивность. Скорее всего у вас есть массив слайдов. У слайда должен быть параметр, ну, предположим, пусть будет: export let active = false, и теперь в цикле отрисовки слайдов для активного слайда задаем <Slide active={true} />
Тут передается состояние, из родителя в потомка( а родитель не знает видим ли потомок или нет), а мне надо чтобы менялось состояние внутри потомка при неком событии(скролле) в родителе.
Почему слайдер не знает что он показывает ? Реактивность работает в обе стороны, и обновление прорисовки при bind:active будет как при изменении внутри слайдера, так и внутри слайда. Если очень хочется большего контроля, используем $: console.log(active) Ну, и если этого недостаточно, то createEventDispatcher Можно еще посмотреть в сторону <script context="module"> и создать переменные доступные всем экземплярам <Slide>. ... Но, как мне кажется, в вашей задаче реактивности более чем достаточно.
Спасибо, еще раз перечитаю доку, возможно дзен реактивности еще не дошел ))
Просто я даю советы исходя из описанной вами задачи. Возможно там что то большее. Как пример, недавно делал плавный слайд внутри div. В результате имел два элемента, панель кнопок (дни недели) и элемент со списком. Что сделал: Создал ф-цию scrollTo, зарегал через dispatch, затем забиндил в <App> список через bind:this=list, для кнопок на панели через dispatch кинул установленное для каждой кнопки отдельно значение в on:click, прокинул через панель, повесил в <App> событие on:click с уже установленным значением на handle_click, оттуда вызвал list.scrollTo(event.detail) и вуаля, работает. Божечки, какой я молодец. 🌞
Обсуждают сегодня