Size: a a a

2020 October 02

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
А экспрешены в шаблоне это тогда что ?
да я все выше написал же
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Ну я могу написать в шаблоне не менее динамический js, не понимаю чем мои экспрешены в $: сложнее шаблонных
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
Ну тада надо куда-то добавить инфу, что поля объектов и $: работает так, старайтесь использовать примитивные значения и будет приятнее
так дай) делай PR в доки с подобными уточнениями))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
Ну я могу написать в шаблоне не менее динамический js, не понимаю чем мои экспрешены в $: сложнее шаблонных
в шаблон смотрят, а в $: нет
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
не знаю как тебе еще объяснить)
источник

КС

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
+ в шаблоне все же есть ограничения, это одностроковая история с выводом, а-ля консоль
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Для просвящения
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
Ладно, а примеры по компонентам запилишь ?
да постараюсь)
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
да постараюсь)
Спасибо
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Pavel 🦇 Malyshev
в любом случае данный кейс свободится к:

$: doSomething(obj.foo);

let prevFoo;
$: if (obj.foo !== prevFoo ) {
 prevFoo = obj.foo;
 doSomething(obj.foo);
}

либо:

$: foo = obj.foo;
$: doSomething(foo);
кстати я вспомнил
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
короче в свелт 2 был хук onchange({ current, previous, changed })
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Крутой хук
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
когда думали переносить ли этот хук в свелт 3, решили что смысла в previous, changed нет, потому что это все легко делается в юзерленд)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а вот computed там срабатывали также на весь объект кстати:

computed: {
   foo: ({ obj }) => doSomething(obj.foo);
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
только там они были ограничены присвоением в компутед переменную (foo). то есть фактически можно было делать только вещи вроде:

$: foo = doSomething(obj.foo);
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
аналог собстсвенно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
и когда в 3-ке можно с помощью $: делать вообще что угодно, это не реально круто
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Да, круто, тока если с нуля вникать конфузно иногда

В общем было бы классно видеть примеры что заслуживает оборачивания в компонент, а что нет
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
во Vue, как самому ментально близкому к свелт 2, для этого выделено несколько абстракций (computed, watch, )
источник