Size: a a a

2020 October 02

КС

Кирилл Спасибович... 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]
Кирилл Спасибович
А в последнем варианте не затриггерится присвоение в тоже самое ?
Не понял
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
Не понял
Ну если поле то не изменилось, запуска функции на выдернутое поле не произойдёт ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
Ну если поле то не изменилось, запуска функции на выдернутое поле не произойдёт ?
Нет конечно, если не изменилось)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Вообще если не изменилось ничего не происходит в свелт
источник

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]
Т.е. var = 1 если там уже 1 ничего не затригерит ?
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
Нет конечно, если не изменилось)
Я чёт не понимаю о чём вы, оно же выполнится первый раз при отрисовке в любом случае, а потом уже всё остальное.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
Т.е. var = 1 если там уже 1 ничего не затригерит ?
Если там был 1 и стал один то нет и это не имеет отношение к $: так работает $$invalidate
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Misha Zamkevich
Я чёт не понимаю о чём вы, оно же выполнится первый раз при отрисовке в любом случае, а потом уже всё остальное.
Потому что новое значение не равно старому))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Ну его нет, поэтому не равно
источник

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
Потому что новое значение не равно старому))
Ладно, я всё равно ничего не понял, у меня выполняется. Видимо что-то там ещё, пойду спать ))

https://svelte.dev/repl/7d450fce5e4a4bc2b784e178b578945f?version=3.29.0
источник

AP

Alexander Ponomarev in Svelte [svelt]
https://svelte.dev/repl/388f8f58078e45c6822e64932b5870c4?version=3 не знаю как обьяснить разницу
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Misha Zamkevich
Ладно, я всё равно ничего не понял, у меня выполняется. Видимо что-то там ещё, пойду спать ))

https://svelte.dev/repl/7d450fce5e4a4bc2b784e178b578945f?version=3.29.0
Может это я тебя не понял) $: запускается первый раз и каждый раз когда значения зависимостей изменились, но фактически первый вызов это тоже самое что второй
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
А точнее?
источник

A

Arushwl in Svelte [svelt]
?
источник