169 похожих чатов

Можно ли для биндингов добавить конвертацию? например, если нужен инпут

для ввода 16-ричного числа с number'ом на выходе. типа:
<script lang="ts">
export let num: number
let hex: string

$: hex = num.toString(16)
$: num = parseInt(hex, 16)
</script>

<input bind:value={hex} />

но тут на циклическую зависимость ругаются аж два линтера.

или такое вообще сделать нельзя, и надо вешаться на on:change?

11 ответов

6 просмотров

<script lang="ts"> export let num: number $: hex = parseInt(num.toString(16), 16) </script> <input bind:value={hex} /> Не устроит ли такой вариант?

3bl3gamer- Автор вопроса
Eric Rovell
<script lang="ts"> export let num: number $: ...

не, так в инпуте ж будет десятичное число

3bl3gamer
не, так в инпуте ж будет десятичное число

Всё, понял, нужно же в 16 систему...)

Можно сделать это экшнами

Обычно в таких кейсах помогает дополнительная проверка в $:

3bl3gamer- Автор вопроса
Pavel 🦇 Malyshev
Обычно в таких кейсах помогает дополнительная пров...

проверка на равенство между num и hex (с конвертацией) перед каждым присваиванием? всё равно ругается на циклическую зависимость, ещё на этапе сборки

3bl3gamer
проверка на равенство между num и hex (с конвертац...

Очень хорошая идея сделать это экшеном, как подсказал Марк, советую попробовать.

3bl3gamer
проверка на равенство между num и hex (с конвертац...

посмотрел внимательнее, тут все еще проще: https://svelte.dev/repl/5cc79bd74b3e48a28a34a80914bfd01f?version=3.37.0

Pavel 🦇 Malyshev
посмотрел внимательнее, тут все еще проще: https:/...

Такой вопрос. С чем связано то, что когда мы удаляем десятичное число внутри input связь пропадает и далее если мы пишем уже другое число HEX не меняется.

3bl3gamer- Автор вопроса
Pavel 🦇 Malyshev
посмотрел внимательнее, тут все еще проще: https:/...

так тут хексовый инпут не редактируется. наверно потмоу что при изменении hex выполняется весь блок $:, а там первая строка hex = num?.toString(16); затирает только что изменившееся значение

3bl3gamer
так тут хексовый инпут не редактируется. наверно п...

ой, да. невнимательно смотрю. тогда нужно будет еще проверки впилить и кажется вариант с ивентом, который выше предложили будет более лаконичным. можно только on:change заменить на on:input и в контексте текстового поля разницы с биндингом не будет

Похожие вопросы

Обсуждают сегодня

подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
11
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Народ, есть возможность объяснить VS Code, что некий lua-модуль стандартный и грузится по умолчанию? Т.е. хост программа добавляет этот модуль наряду с модулями string, debug ...
Sl
9
Добрый день. Абракадабра в 12-й студии ввела новый тип поля БД TSQLTimeStampOffset, использую в постгресе timestampz и вот с 12-й версии начались чудеса! До этого поля times...
Delphi Photo
9
Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта