Size: a a a

2021 March 06

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Eric Rovell
Кстати говоря, нет ли в свелт возможности создавать нереактивные пропсы? Что-то в стиле, которые задаются один раз при создании компонента и больше не поддаются изменению?

Было бы неплохо так: export const
const да
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
для const переменных не добавляется реактивность
источник

DK

Dan Kozlov in Svelte [svelt]
Pavel 🦇 Malyshev
для const переменных не добавляется реактивность
Но их извне не задать.
источник

DK

Dan Kozlov in Svelte [svelt]
А задача-то сделать нереактивный задаваемый извне проп.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dan Kozlov
А задача-то сделать нереактивный задаваемый извне проп.
> Что-то в стиле, которые задаются один раз при создании компонента и больше не поддаются изменению?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
я как-то по-другому прочитал видимо
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
А задача-то сделать нереактивный задаваемый извне проп.
моя задача не такая) мне нужен чтото типа clientHeight пропа, он не задаётся снаружи, но спокойно меняется изнутри и биндится
источник

A

Arushwl in Svelte [svelt]
Alexander Ponomarev
моя задача не такая) мне нужен чтото типа clientHeight пропа, он не задаётся снаружи, но спокойно меняется изнутри и биндится
Так изнутри его и получить. Ридонли...
источник

A

Arushwl in Svelte [svelt]
Я прям активно эту тему юзаю👍🏻
источник

A

Arushwl in Svelte [svelt]
Речь же про свойства ноды элемента?
источник

AP

Alexander Ponomarev in Svelte [svelt]
нет не про свойства ноды
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
моя задача не такая) мне нужен чтото типа clientHeight пропа, он не задаётся снаружи, но спокойно меняется изнутри и биндится
А я и не про твою :)

Я думаю, твой вариант — либо ивенты, если инстанс этой либы может часто меняться, либо экспортированный геттер, если не может меняться.


let libInstance
export const getInstance = () => libInstance


А в потребителе можно получать геттер через bind:getInstance.
источник

A

Arushwl in Svelte [svelt]
Я помнится в компоненте с элементом отдельно реактивно считывал его свойства и передавал наверх реактивную переменную.
источник

AP

Alexander Ponomarev in Svelte [svelt]
геттер мне не нравится это пул а не пуш, с геттером никто не узнает что инстанс который они получили уже давно убит
источник

DK

Dan Kozlov in Svelte [svelt]
Dan Kozlov
А я и не про твою :)

Я думаю, твой вариант — либо ивенты, если инстанс этой либы может часто меняться, либо экспортированный геттер, если не может меняться.


let libInstance
export const getInstance = () => libInstance


А в потребителе можно получать геттер через bind:getInstance.
Либо не делать защиту от дурака и делать обычный export let, а если потребитель дурак и задал то, что не надо, то сам дурак :)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
моя задача не такая) мне нужен чтото типа clientHeight пропа, он не задаётся снаружи, но спокойно меняется изнутри и биндится
была подобная задача да. сделали что-то вроде: https://svelte.dev/repl/e47b8c97b0bb49cfac18c727241edb12?version=3.35.0
источник

PM

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

AP

Alexander Ponomarev in Svelte [svelt]
наивный вариант я такой же придумал, но встроенного способа сделать ридонли бинд не хватает)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
наивный вариант я такой же придумал, но встроенного способа сделать ридонли бинд не хватает)
Наивный? Просто кейс не слишком частый
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
наивный вариант я такой же придумал, но встроенного способа сделать ридонли бинд не хватает)
В чем проблема-то ивентом поднять? :) это и есть ридонли способ поднять стейт.
источник