Size: a a a

2020 December 07

UR

Uncle Robot in Svelte [svelt]
Pavel 🦇 Malyshev
доллар либо прямо как префикс, либо не нужен, если это не стор
понял. Спасибо!
источник

AP

Alexander Ponomarev in Svelte [svelt]
Константин
я вот заметил странную штуку со слотами: let:something видим только в скопе (в разметке) того слота, который прокидывает наверх something, в другом слоте он уже будет невидим. И если нужно его использовать, то из второго слота тоже должен пробрасываться something
Т.е.
<DoubleSlotsComponent let:item >
<div slot="a">
 <!-- item виден -->
</div>
<div slot="b">
 <!-- item НЕ виден -->
</div>
</DoubleSlotsComponent>

<!--DoubleSlotsComponent-->

<slot name="a" {item} />
{#each array as arr (arr.id)}
  <slot name="b"/>
{/each}

Тогда как если сделать так, то item будет виден и в b:
{#each array as arr (arr.id)}
  <slot name="b" {item}/>
{/each}

У меня гораздо более сложный кейс, т.к. слоты форвардятся через 2 уровня, но суть такая же. Не ожидал, что item в одном случае и в другом — разные. Интересно, так и задумано?
хм это действительно как-то глупо. Логичнее тогда let:something делать было на самом слоте а не на компоненте
источник

UR

Uncle Robot in Svelte [svelt]
Pavel 🦇 Malyshev
либо так:
files={suppliersConfig}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
дык там просто js код уже внутри других {}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
там просто template litterals
источник

К

Константин in Svelte [svelt]
Alexander Ponomarev
хм это действительно как-то глупо. Логичнее тогда let:something делать было на самом слоте а не на компоненте
yep
источник

UR

Uncle Robot in Svelte [svelt]
Pavel 🦇 Malyshev
дык там просто js код уже внутри других {}
тьфу блин... *facepalm*
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
"Кликов: ${count}" аналог "Кликов: " + count
источник

UR

Uncle Robot in Svelte [svelt]
Pavel 🦇 Malyshev
дык там просто js код уже внутри других {}
Спасибо!
источник

AP

Alexander Ponomarev in Svelte [svelt]
в целом синтаксис с let не такой удобный как с render prop, ниче никуда не сохранишь и выше не заюзаешь =) мб через экшен костыль тока можно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
я вот заметил странную штуку со слотами: let:something видим только в скопе (в разметке) того слота, который прокидывает наверх something, в другом слоте он уже будет невидим. И если нужно его использовать, то из второго слота тоже должен пробрасываться something
Т.е.
<DoubleSlotsComponent let:item >
<div slot="a">
 <!-- item виден -->
</div>
<div slot="b">
 <!-- item НЕ виден -->
</div>
</DoubleSlotsComponent>

<!--DoubleSlotsComponent-->

<slot name="a" {item} />
{#each array as arr (arr.id)}
  <slot name="b"/>
{/each}

Тогда как если сделать так, то item будет виден и в b:
{#each array as arr (arr.id)}
  <slot name="b" {item}/>
{/each}

У меня гораздо более сложный кейс, т.к. слоты форвардятся через 2 уровня, но суть такая же. Не ожидал, что item в одном случае и в другом — разные. Интересно, так и задумано?
чет не пойму. ты хочешь чтобы scope слота был доступен из другого слота?  🤔
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
какой же тогда это скоуп
источник

К

Константин in Svelte [svelt]
почему хочу? Я просто это узнал
источник

К

Константин in Svelte [svelt]
про скоупы нигде не говорилось вроде
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
в целом синтаксис с let не такой удобный как с render prop, ниче никуда не сохранишь и выше не заюзаешь =) мб через экшен костыль тока можно
рендер пропс вообще не юзабильная хрень комон. она норм только до того момент как не разрастается до жути
источник

К

Константин in Svelte [svelt]
ты не видишь его, а он есть (с)
источник

К

Константин in Svelte [svelt]
let удобен, когда слот один
источник

К

Константин in Svelte [svelt]
когда слотов больше и они в одном контексте - начинается катавасия с пересечением переменных, когда ты не можешь точно сказать без микроскопа, что у тебя означает запись let:item и в каком месте чайлдов какое значение примет
источник

К

Константин in Svelte [svelt]
вот это вот куда хуже, чем то, что ты говоришь про рендер-пропы
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
когда слотов больше и они в одном контексте - начинается катавасия с пересечением переменных, когда ты не можешь точно сказать без микроскопа, что у тебя означает запись let:item и в каком месте чайлдов какое значение примет
так юзай let: не на компоненте, а не теге с аттрибутом slot
источник