Size: a a a

2020 September 18

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
представим теперь что только часть этих значений зависит от контекста шаблона:

{formatTime(createdDate, foo, bar, baz, quux, ...)}
я понял к чему ты ведешь, мы обьявим функцию

function help(createdDate) {
    return formatTime(createdDate, foo, bar, baz ...);
}


Это все окей и проблемы с пониманием не в этом.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
не сложный, сколько замороченный который тебя путает
источник

К

Константин in Svelte [svelt]
нет, меня пугает это "смотрит как ты"
источник

К

Константин in Svelte [svelt]
в смысле, там не сидит человек и не смотрит на код
источник

К

Константин in Svelte [svelt]
там либо код представляется в виде строки и анализируется
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
я понял к чему ты ведешь, мы обьявим функцию

function help(createdDate) {
    return formatTime(createdDate, foo, bar, baz ...);
}


Это все окей и проблемы с пониманием не в этом.
да, но если это обычный JS то эта фунция не будет тригерить изменение шаблона если изменился foo, bar или baz
источник

К

Константин in Svelte [svelt]
либо в виде дерева
источник

К

Константин in Svelte [svelt]
мне не нужно проще, мне нужно принцип понять
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
например так:



let foo, bar, baz;

function sum() {
   baz = foo + bar;
}

$: foo && sum();
Обернуть в функции нет проблем, но проблема начинается тогда, когда в реактивном выражении несколько блоков которые выполняют свой кусочек кода.

По правилам читабельности каждую из них нужно обернуть в функцию и правило "Пиши меньше кода" не распространяется в данном случае на кейс если функций создать надо например штук 5
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
да, но если это обычный JS то эта фунция не будет тригерить изменение шаблона если изменился foo, bar или baz
окей весь шаблон это $: { сделай мне шаблон }
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
мне не нужно проще, мне нужно принцип понять
ну там конечно AST используется, но AST можно тоже по-разному анализировать
источник

МТ

Марк Танащук... in Svelte [svelt]
И все это например чтобы убрать пару переменных из зависимостей
источник

К

Константин in Svelte [svelt]
не силён в аббревиатурах, сорри
источник

К

Константин in Svelte [svelt]
ast?
источник

К

Константин in Svelte [svelt]
вряд ли это Alcohol Service Technologies
источник

AP

Alexander Ponomarev in Svelte [svelt]
abstract syntax tree?
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
abstract syntax tree?
+
источник

К

Константин in Svelte [svelt]
а, ну я про это же
источник

К

Константин in Svelte [svelt]
синтаксическое дерево
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
окей весь шаблон это $: { сделай мне шаблон }
вот видишь, даже ты стал понимать, как можно писать ))))

$: formatTime = createdDate => {
  // используем foo, bar, baz
}
источник