Size: a a a

2020 September 24

AS

Alexey Schebelev in Svelte [svelt]
а деструктор там не нужен чтоли?
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexey Schebelev
а деструктор там не нужен чтоли?
Та там может быть банальный opacity: 0, duration: 0.3 например, просто накинул что там рандомная анимация присутствует
источник

МТ

Марк Танащук... in Svelte [svelt]
и для таких однострочек по 3 строчки жалко :(

Но  на самом деле - а почему нет?🤔

Конечно можно в таком кейсе засорять разметку, но в онклике же можно
источник

МТ

Марк Танащук... in Svelte [svelt]
и прочих ивентах
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Я использую помимо этого gsap для анимирования нод:

function animate(node) {
 gsap.from(node, { someAnimation });
}

<div use:animate></div>

И таких блочков в проекте уже накопилось штук 15 однострочных.
Прими gsap и someAnination как параметры экшена и вынеси его в js файл
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
Прими gsap и someAnination как параметры экшена и вынеси его в js файл
И тогда у меня не скрипты а js файл засоряется :(
источник

МТ

Марк Танащук... in Svelte [svelt]
Хотя
источник

МТ

Марк Танащук... in Svelte [svelt]
const functionName = node => code можно же

Не проснулся
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
И тогда у меня не скрипты а js файл засоряется :(
Да у тебя будет 1 просто функция для интеграции с анимациями и все
источник

PM

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Вот скидывал пример интеграции со flatpickr. Не хитрый код даёт все вариации и возможности flatpickr в свелт
источник

КС

Кирилл Спасибович... in Svelte [svelt]
ну да, никто же не мешает завернуть произвольную функцию в экшене в качестве параметра :)

или какой-то более аккуратный интерфейс сделать, в зависимости от вариаций этих экшенов
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
ну да, никто же не мешает завернуть произвольную функцию в экшене в качестве параметра :)

или какой-то более аккуратный интерфейс сделать, в зависимости от вариаций этих экшенов
Да, туда можно коллбеки передавать, например чтобы из экшена менять стейт компонента или просто отстреливать ивенты на ноде, как в примере
источник

КС

Кирилл Спасибович... in Svelte [svelt]
<script>
 function anim(node, action) {
   action(node);
 }
</script>

<button use:anim={node => gsap.from(node, { someAnimation })}>
 Animated button?
</button>
источник

КС

Кирилл Спасибович... in Svelte [svelt]
как-то так наверное ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
поперемешал всё, фокус в покус, а анимацию забыл :)
источник

КС

Кирилл Спасибович... in Svelte [svelt]
поправил :)
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
поперемешал всё, фокус в покус, а анимацию забыл :)
собсно я пошел дальше - так как gsap нормально не делает изоляцию и есть у него при использовании свелт траблы с получением нод в некоторых кейсах мне пришлось делать нечто по типу:

const animateArrow = node => {
 node.addEventListener('click', () => {
   gsap.to(
     node.querySelector('svg'),
     { duration: 0.3, x: '-1.25vw' }
   )
 );
}
источник

МТ

Марк Танащук... in Svelte [svelt]
Для симуляции изолированности querySelector от ноды нынешней то бишь делаю
источник

МТ

Марк Танащук... in Svelte [svelt]
был бы варик по дефолту указывать какую то ноду вместо document было бы круто, но то вопросы к гсапу =\
источник