Size: a a a

Советский Angular

2019 December 18

🌀

🌀 maktarsis in Советский Angular
Владимир
У меня по сути плоская навигация, нет никаких дочерних роутов
/step1
/step2
/step3

так?
источник

🌀

🌀 maktarsis in Советский Angular
/steps
  /1
  /2
  /3

можно оформить так
источник

В

Владимир in Советский Angular
🌀 maktarsis
/step1
/step2
/step3

так?
да
источник

В

Владимир in Советский Angular
🌀 maktarsis
/steps
  /1
  /2
  /3

можно оформить так
можно, но не проще ли тогда как-то.. хак какой что ли :D надо подумать
источник

🌀

🌀 maktarsis in Советский Angular
Владимир
можно, но не проще ли тогда как-то.. хак какой что ли :D надо подумать
Но ты же можешь сделать красиво
Если эти шаги завязаны между собой, тогда их кое-что объединяет. А когда делаешь хорошо, тогда и проблем потом будет меньше. Например, тебе будет не сложно запрещать переходы назад/вперёд/вверх/вниз
источник

В

Владимир in Советский Angular
🌀 maktarsis
Но ты же можешь сделать красиво
Если эти шаги завязаны между собой, тогда их кое-что объединяет. А когда делаешь хорошо, тогда и проблем потом будет меньше. Например, тебе будет не сложно запрещать переходы назад/вперёд/вверх/вниз
запрещать из родительского ?
источник

🌀

🌀 maktarsis in Советский Angular
Владимир
запрещать из родительского ?
Да. Как я понял, у тебя сейчас каждый степ знает куда кнопки ведут назад/вперёд. То есть, они связаны. И поменять их местами означает что тебе нужно будет поправить код нескольких компонентов, при чем не просто рефакторинг, а подмена деталей.

Вместо этого, ты можешь отдавать в эти компоненты только команды «хочу идти вперед», или «хочу идти назад»

Когда какой-то шаг кликает на кнопку назад, он не знает что произойдёт дальше, он просто рендерит и хендлит свои ивенты.
Как только срабатывает клик эмиттера, родительский компонент видит что такой-то шаг хочет назад, где ты можешь поставить свои условия, можно ли ему это делать. И в зависимости от этого, снавигейтить если нужно.
источник

В

Владимир in Советский Angular
🌀 maktarsis
Да. Как я понял, у тебя сейчас каждый степ знает куда кнопки ведут назад/вперёд. То есть, они связаны. И поменять их местами означает что тебе нужно будет поправить код нескольких компонентов, при чем не просто рефакторинг, а подмена деталей.

Вместо этого, ты можешь отдавать в эти компоненты только команды «хочу идти вперед», или «хочу идти назад»

Когда какой-то шаг кликает на кнопку назад, он не знает что произойдёт дальше, он просто рендерит и хендлит свои ивенты.
Как только срабатывает клик эмиттера, родительский компонент видит что такой-то шаг хочет назад, где ты можешь поставить свои условия, можно ли ему это делать. И в зависимости от этого, снавигейтить если нужно.
оо, прикол, я понял о_О
источник

В

Владимир in Советский Angular
🌀 maktarsis
Да. Как я понял, у тебя сейчас каждый степ знает куда кнопки ведут назад/вперёд. То есть, они связаны. И поменять их местами означает что тебе нужно будет поправить код нескольких компонентов, при чем не просто рефакторинг, а подмена деталей.

Вместо этого, ты можешь отдавать в эти компоненты только команды «хочу идти вперед», или «хочу идти назад»

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

🌀

🌀 maktarsis in Советский Angular
Но если тебе нужно быстро, и не переживаешь за состояние кода, его масштабирование, тогда конечно можешь набросать костыль в роутинг, но я не советую 😅
источник

В

Владимир in Советский Angular
🌀 maktarsis
Но если тебе нужно быстро, и не переживаешь за состояние кода, его масштабирование, тогда конечно можешь набросать костыль в роутинг, но я не советую 😅
у нас намечена фаза рефакторинга где-то последние недели полторы до нг, так что просто помечу себе реализовать эту логику.

Это же её получается куда-то в canActivateChild выносить нужно у родительского компонента..
источник

В

Владимир in Советский Angular
🌀 maktarsis
Но если тебе нужно быстро, и не переживаешь за состояние кода, его масштабирование, тогда конечно можешь набросать костыль в роутинг, но я не советую 😅
а если более сложная логика, когда компонент решает, что если А, то на компонент А, если Б, то Б, а если ошибка получения данных, то компонент В
источник

В

Владимир in Советский Angular
то алиасы какие-то нужны, не просто stepPrer, stepNext
источник

В

Владимир in Советский Angular
Хотя сам кейс странный и наверное не особо верный, когда компонент слишком много думает куда в итоге перенаправлять
источник

🌀

🌀 maktarsis in Советский Angular
Владимир
то алиасы какие-то нужны, не просто stepPrer, stepNext
moveBack, moveNext
источник

🌀

🌀 maktarsis in Советский Angular
Владимир
Хотя сам кейс странный и наверное не особо верный, когда компонент слишком много думает куда в итоге перенаправлять
все, что делает этот компонент - решает кого и в какой момент рендерить. Оркестрирующий.
источник

В

Владимир in Советский Angular
🌀 maktarsis
все, что делает этот компонент - решает кого и в какой момент рендерить. Оркестрирующий.
я понимаю, что оркеструющий, не очень понимаю пока где он и кто он, как вариант вижу вынести эту логику в сервис, в общем подумать надо
источник

Вキ

Вертихвост キバ in Советский Angular
Владимир
@thekiba напомни пожалуйста потом, как ты предложил сделать параметризацию роутера прям в массиве объектов Route? Задача заключалась в том, чтобы получить возможность определять пускать или не пускать на тот или иной компонент, если пришёл с определённого роута.
Условно говоря с последней страницы нельзя попасть на предпоследнюю, клиом "back", но можно зайти по прямой ссылке.

Решение в лоб это в гварде проверять с какого роута пришли, ты предложил как-то через параметры..
Сделай в гарде, норм решение

Про параметры я говорил про какой-то другой кейс
источник

S

Smooth Operator in Советский Angular
Денис Макаров
хммммммммммм..........
источник

S

Smooth Operator in Советский Angular
источник