Size: a a a

2020 September 04

AP

Alexander Ponomarev in Svelte [svelt]
а пуш в историю как делать, роутер же клиентский нужен)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
а пуш в историю как делать, роутер же клиентский нужен)
<svelte:window on:click={click} />
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
<svelte:window on:click={click} />
не будет работать если всплытие остановят

вариант реализованный в Link у реакт роутера лучше и может работать хоть с дивом, хоть с кнопкой, хоть с анкором и размещает эвент на элементе
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
не будет работать если всплытие остановят

вариант реализованный в Link у реакт роутера лучше и может работать хоть с дивом, хоть с кнопкой, хоть с анкором и размещает эвент на элементе
Да, это тоже фича. Когда кто-то пишет про кликабильный div во вселенной сгорает звезда. 😆
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Нет никакой сложности таргетировать все активные элементы в одном хендлере
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Считаю что в компонент имеет смысл заворачивать только для стилизации и какого-то доп.поведения. Очевидно что стандартный компонент идущий с роутером не должен вообще заниматься стилизацией
источник

AP

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

или поймёшь какието доп пропсы для этой роут-линки если роутер их поддерживает
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
Считаю что в компонент имеет смысл заворачивать только для стилизации и какого-то доп.поведения. Очевидно что стандартный компонент идущий с роутером не должен вообще заниматься стилизацией
этого как раз никто не просит
источник

AP

Alexander Ponomarev in Svelte [svelt]
например при переходе ещё стейт надо дописать в историю
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
а как ты роут то поймёшь если будешь таргетировать в одном хэндлере клик по кнопке (не ссылке) роутера)

или поймёшь какието доп пропсы для этой роут-линки если роутер их поддерживает
Очевидно по типу элемента можно добавить любое проведение. Однако у меня click хелпер только для ссылок, для форм есть submit хелпер, а для всего остального (что в стандартном поведении браузера не изменяет УРЛ) есть ручной вызов goto.
источник

AP

Alexander Ponomarev in Svelte [svelt]

<Link to={{ pathname: "/courses", search: "?sort=name", hash: "#the-hash", state: { fromDashboard: true } }} />

такое как сымитировать, здесь нужно вместе с переходом состояние в историю запушить
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
Очевидно по типу элемента можно добавить любое проведение. Однако у меня click хелпер только для ссылок, для форм есть submit хелпер, а для всего остального (что в стандартном поведении браузера не изменяет УРЛ) есть ручной вызов goto.
источник

К

Константин in Svelte [svelt]
предназначение линка - менять только то, что нужно, проверять авторизацию + стилизация <a>
источник

К

Константин in Svelte [svelt]
хотя вторую часть условия надо переписать. Это так, на коленке сделано буквально
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev

<Link to={{ pathname: "/courses", search: "?sort=name", hash: "#the-hash", state: { fromDashboard: true } }} />

такое как сымитировать, здесь нужно вместе с переходом состояние в историю запушить
конкретно в pathfinder это можно сделать сразу несколькими способами разного рода автоматичности:

Обычной ссылкой:

<svelte:window on:click={click} />

<a href="/courses?sort=name#the-hash" data-fromDashboard="true">
Click me
</a>

GET-формой с вводом значений или без:

<form on:submit={submit} action="/courses#the-hash" method="GET">
 <input name="fromDashboard" value="true" type="hidden">
 <input name="sort" value="name">
 <button>Submit</button>
</form>

И конечно же вручную:

<div on:click={e => goto('/courses?sort=name#the-hash', { fromDashboard: true })}>
  Kill the star
</div>

Кроме того, можно изменить отдельные части url независимо:

$path='/courses';

$query.sort = 'name';

$fragment = 'the-hash';

$state = { ...$state, fromDashboard: true };
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а вот это что?

   $url = routeUrl;
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
?
источник

К

Константин in Svelte [svelt]
ну это ж можно url сразу весь сменить
источник

К

Константин in Svelte [svelt]
но я это не использую
источник

К

Константин in Svelte [svelt]
у меня чисто path меняется
источник