Pull to refresh
8
0
Дмитрий Пурис @Reactiver

Senior Frontend Developer

Send message

Очень классный набор статей. Спасибо, что поделился информацией. От таких статей появляется желание и самому что-то сделать)

Хорошая альтернатива. Я рассматривал такой вариант, но решил сделать как в статье.

Тут остается такая же проблема со сменой урла с /home(dialog:login) на /home при закрытии диалога. Ее в любом случае надо как-то решать. Было бы интересно узнать ваш способ. Иначе, если не менять урл, то при закрытии диалога урл остается таким же /home(dialog:login) и при перезагрузке страницы будет открыт диалог. А это не совсем то, что ожидает пользователь.

При том не нужны никакие костыли в виде backUrl и т.п.

вычисление backUrl - это детали реализации, которые не нужны при конфигурировании роутинга

В итоге конфиг роутера получается таким(реальный пример)

// роутинг модуль
const routes: Routes = [
  {
    path: 'page',
	component: PageComponent,
	children: [
  	  tuiGenerateDialogableRoute(DialogContentComponent, 'path/to/dialog')
	]
  }
]

Программисту, кто пишет такую конфигурацию, не надо задумываться о возвращении назад.

В вашем варианте через именованные аутлеты удобно, что можно в корне приложения один раз разместить <router-outlet name="dialog"> и не добавлять в каждую страницу — это плюс!

Здорово, что пришли к одинаковому решению!

В статье я чуть упростил интерфейс функции, у нас он еще принимает конфиг по диалогу.
Но вот резолверы и гварды, к сожалению, нет. Предложение 100% валидное. Я добавлю поддержку интерфейса Route в следующей версии.

Спасибо за наводку!

Очень классная статья. Хотелось бы побольше таких примеров с хардкорным ангуляром)
Все доклады максимально интересные. Жаль не способности остановить время и побывать в живую на всех докладах)

Information

Rating
Does not participate
Location
Yerevan, Yerevan, Армения
Works in
Registered
Activity

Specialization

Frontend Developer
Senior
JavaScript
Angular
TypeScript
Git
HTML
CSS
Jest
Cypress
React
Docker