Комментарии 2
Интересно, сохраню себе, потому что как-то раз искал роутер для веб-компонентов.
Несколько замечаний/предложений:
Ссылки помечаются атрибутом
aura-router-link, который с точки зрения стандарта HTML считается не валидным и приведёт к ошибке в валидаторе. Было бы неплохо поддерживать второй, валидный вариант —data-aura-router-linkилиdata-router-link.Добавить возможность конфигурации
opt-inиopt-out. Как я понимаю, сейчас все ссылки нужно пометить атрибутом, чтобы SPA-режим работал. Было бы полезно иметь возможность включить такое поведение по дефолту для всех ссылок и отключать там, где не нужно.Добавить View Transition для плавных переходов, которые хорошо ложатся на текущую модель.
aura-router-link- урезали сугубо для удобства DX,data-aura-router-linkочень уж длинновато, оставив при этом возможность задавать селектор вручную как: <aura-router link-selector="ANY_SELECTOR" >. Вы правы, HTML валидатор сейчас ругается, будем пересматривать название этого атрибута, возможноdata-router-linkилиdata-aura-linkбудет наилучшим вариантом. Спасибо, замечание верное!Именно так, ссылка на данный момент должна быть помечена атрибутом, чтобы SPA-режим работал. Режим работы роутера по умолчанию для всех ссылок, либо ссылок в конкретном контейнере - однозначно будет полезен. Реализуем!
Механизм View Transition уже заложен в движок, и может быть запущен при задании соответствующих атрибутов на роутере. В этом режиме для Enter и Leave страниц используются независимые слои отображения. Атрибут
transition-orderопределяет порядок запуска этих слоев в документ:parallel,out-in, orin-out. Тип анимации задается атрибутамиtransition-in,transition-outПока не сильно светили эту возможность, не достаточно проработан DX под нее.
Живой пример работы с View Transition можно глянуть в самом проекте:
`npm run dev`
http://localhost:5174/features/animations

Из нюансов - на данный момент пользователю самому надо прописывать как идет анимация (хуки и стили к ней). Наверно это не очень удобно, лучше бы набор официальных решений-плагинов под анимации? Тут важна обратная связь от разработчиков, полезен ли вообще такой подход, насколько удобно пользоваться, предложения по улучшению DX.
Доп материалы по View Transition:
Docs: https://github.com/aura-ui/router/blob/main/docs/guide/05-lifecycle-and-data.md#transitions
Пример Transition Hooks :https://github.com/aura-ui/router/blob/main/src/examples/demo/hooks/view-transition.ts
Спасибо большое за дельные замечания и предложения! Будем улучшать роутер!

Страница, которая не моргает: SPA-роутинг для HTML и Web Components