делать так?
$: step = Math.min(Math.max(step, 1), 3)
Реактивное выражение, которое занимается лишь тем, чтобы step не выходил за рамки определенного диапазона
Ничего смертельного нет
если назвать это общеупотребимым названием clamp то можно будет даже не объяснять что это)
Только вот если этот step экспортится из компонента и внешний компонент привязывается к нему через bind, реактивыне выражения из последнего успевают отреагировать на вышедшие из диапазона значения. Вот можно в репле наблюдать как в консоли появляются 0 и 4 https://svelte.dev/repl/8e7f5737ffed46c9948054c7b6e3252e?version=3.35.0
именно поэтому лучше в коде который сдвигает значение проверять минмакс и ставить минмакс если вышло за пределы
они успевают отреагировать до отрисовки
Придется сделать так
Обсуждают сегодня