#javascript #angular
#javascript #angular
Вопрос:
Я пытаюсь перенаправить с дочернего компонента на другой компонент. Это безопасная практика или возникнут побочные эффекты.
Комментарии:
1. Я согласен с понижающим голосованием без комментариев, это действительно плохая практика. Кстати, если вы используете структуру smart / dumb components, у dumb components не должно быть побочных эффектов. Но навигация обычно не имеет состояния, поэтому вы не окажете никакого негативного влияния. Но подумайте о повторном использовании, вы уверены, что можете повторно использовать компонент, который выполняет перенаправление по определенному URL?
2. Большое вам спасибо. Я думаю, это отвечает на мой вопрос.
Ответ №1:
Это зависит от выбранной вами архитектуры.
Если вы хотите повторно используемый компонент для :
-
Ваше приложение
-
Другое приложение
-
Или для создания веб-компонента
Тогда вам нужно сохранить все действия в вашем родительском (@Output / @Input), а не в дочерних компонентах.
Но если вы уверены, что ее нельзя будет повторно использовать, то нет проблем с тем, чтобы иметь this.router.navigate()
внутри дочерних компонентов.