Size: a a a

2020 March 28

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
как кнопка понимает что не должна показываться?
обычный if на компоненте кнопки висит
источник

DS

Dmitry Semenov in Svelte [svelt]
а условие самое реактивное и равно функции. вот так $: userTeamAlreadyInTournament = async tournament =>
источник

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
то есть когда кнопка исчезает, модалка как бы тоже недоступна? и этот код не дублируется?
да, модалка недоступна. не совсем понял часть про дублирование кода. модалка открывается просто по нажатию кнопки. нет кнопки нет модалки
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
да, модалка недоступна. не совсем понял часть про дублирование кода. модалка открывается просто по нажатию кнопки. нет кнопки нет модалки
ну я про то, что модалка и кнопка, этот компонент, не относятся к тому коду, который дублируется на 5-ти страницах?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
или на 2-х
источник

DS

Dmitry Semenov in Svelte [svelt]
модалка относится. то есть в кнопку пробрасываю на onclick и эта функция открывает модалку, она как раз и дублируется. открывает модалку через функцию из getContext
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
а условие самое реактивное и равно функции. вот так $: userTeamAlreadyInTournament = async tournament =>
это условие прямо в компоненте кнопки+модалка?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
модалка относится. то есть в кнопку пробрасываю на onclick и эта функция открывает модалку, она как раз и дублируется. открывает модалку через функцию из getContext
стоп
источник

PM

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

DS

Dmitry Semenov in Svelte [svelt]
так, я запутал тебя. кнопка и модалка два разных
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
все в одном компоненте
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
так, я запутал тебя. кнопка и модалка два разных
да, но они должны быть еще и в одном
источник

PM

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

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
у тебя же должен быть один компонент для кнопки + модалки
смотри, сама модалка просто оборачивает main
источник

DS

Dmitry Semenov in Svelte [svelt]
и я ее открываю
источник

PM

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
поэтому для такого случая я бы посоветовал создать view-компонент, который настраивает модалку, кнопку и логику их работы для данного конкретного кейса
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
я это называю view-комопннетами, чато это называют "умные" компоненты, в противовес "глупым" (кнопка, модалка)
источник

DS

Dmitry Semenov in Svelte [svelt]
Pavel 🦇 Malyshev
поэтому для такого случая я бы посоветовал создать view-компонент, который настраивает модалку, кнопку и логику их работы для данного конкретного кейса
а как это выглядит то вообще? отдельный компонент в которым и кнопка и модалка?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Dmitry Semenov
а как это выглядит то вообще? отдельный компонент в которым и кнопка и модалка?
да, это уже юнит с обособленным кусочком бизнес-логики приложения, который ты также можешь переиспользовать в разных местах (меню и тело страницы 2)
источник