Size: a a a

2021 March 22

KN

Konstantin Nosov in Svelte [svelt]
Alexander Ponomarev
это откуда цитата?
источник

KN

Konstantin Nosov in Svelte [svelt]
Alexander Ponomarev
это откуда цитата?
вообзе я год назад так делал, но тогда саппорт был хуже и отказались
источник

AP

Alexander Ponomarev in Svelte [svelt]
дак ни один браузер же не позволяет их дефайнить
источник

AP

Alexander Ponomarev in Svelte [svelt]
и спека не описывает как это делать
источник

AP

Alexander Ponomarev in Svelte [svelt]
ну типа если только с прицелом на будущее исходить из того что можно будет когда-то их определять и они уже валидны в медиа
источник

RS

Ruslan Shakirov in Svelte [svelt]
Пишу кастомный слайдер и возник вопрос: нормально ли в svelte делать так?

$: step = Math.min(Math.max(step, 1), 3)

Реактивное выражение, которое занимается лишь тем, чтобы step не выходил за рамки определенного диапазона
источник

МТ

Марк Танащук... in Svelte [svelt]
Ruslan Shakirov
Пишу кастомный слайдер и возник вопрос: нормально ли в svelte делать так?

$: step = Math.min(Math.max(step, 1), 3)

Реактивное выражение, которое занимается лишь тем, чтобы step не выходил за рамки определенного диапазона
Ничего смертельного нет
источник

МТ

Марк Танащук... in Svelte [svelt]
По крайней мере не вижу)
источник

МТ

Марк Танащук... in Svelte [svelt]
И это лучше чем плодить if'ы и тернарные в реактивных выражениях
источник

КС

Кирилл Спасибович... in Svelte [svelt]
мне кажется лучше в коде, который смещает значение проверять на минмакс и выставлять минмакс
источник

AP

Alexander Ponomarev in Svelte [svelt]
Ruslan Shakirov
Пишу кастомный слайдер и возник вопрос: нормально ли в svelte делать так?

$: step = Math.min(Math.max(step, 1), 3)

Реактивное выражение, которое занимается лишь тем, чтобы step не выходил за рамки определенного диапазона
если назвать это общеупотребимым названием clamp то можно будет даже не объяснять что это)
источник

RS

Ruslan Shakirov in Svelte [svelt]
Марк Танащук
Ничего смертельного нет
Только вот если этот step экспортится из компонента и внешний компонент привязывается к нему через bind, реактивыне выражения из последнего успевают отреагировать на вышедшие из диапазона значения. Вот можно в репле наблюдать как в консоли появляются 0 и 4

https://svelte.dev/repl/8e7f5737ffed46c9948054c7b6e3252e?version=3.35.0
источник

МТ

Марк Танащук... in Svelte [svelt]
Так а зачем в дочернем то делать?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Ruslan Shakirov
Только вот если этот step экспортится из компонента и внешний компонент привязывается к нему через bind, реактивыне выражения из последнего успевают отреагировать на вышедшие из диапазона значения. Вот можно в репле наблюдать как в консоли появляются 0 и 4

https://svelte.dev/repl/8e7f5737ffed46c9948054c7b6e3252e?version=3.35.0
именно поэтому лучше в коде который сдвигает значение проверять минмакс и ставить минмакс если вышло за пределы
источник

МТ

Марк Танащук... in Svelte [svelt]
В плане в слайдере навигация этим не занимается
источник

МТ

Марк Танащук... in Svelte [svelt]
навигация просто управляет индексом слайда а родитель уже свои коллбэки и функции вызывает по изменению
источник

МТ

Марк Танащук... in Svelte [svelt]
(или передает функцию смены слайда навигационному компоненту)
источник

AP

Alexander Ponomarev in Svelte [svelt]
Ruslan Shakirov
Только вот если этот step экспортится из компонента и внешний компонент привязывается к нему через bind, реактивыне выражения из последнего успевают отреагировать на вышедшие из диапазона значения. Вот можно в репле наблюдать как в консоли появляются 0 и 4

https://svelte.dev/repl/8e7f5737ffed46c9948054c7b6e3252e?version=3.35.0
они успевают отреагировать до отрисовки
источник

КС

Кирилл Спасибович... in Svelte [svelt]
кароче $: для запуска не чувствительного к моменту выполнения кода
но не для этой ситуации
источник

МТ

Марк Танащук... in Svelte [svelt]
Кстати если в дочерний компонент переложить console.log то топологически вызываются реактивные выражения и никаких логов 4 и 0 нету
источник