Как узнать, встроен ли компонент или вызван с маршрутизатора - PullRequest
0 голосов
/ 25 сентября 2018

Привет, я получил компонент входа в систему, поэтому внутри моего файла входа component.ts как узнать, когда:

  1. этот компонент вызывается из маршрутизатора как https://my -domain / login
  2. этот компонент включен (встроен) из родительского компонента

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Это действительно необычный случай.

Одним из решений является проверка маршрута приложения при загрузке указанного компонента входа в систему.

Использованиеэта ссылка для различных способов получения текущего URL-адреса приложения.Лично я предпочитаю это:

constructor(router: Router) {
  const url = router.url;
  if(url.indexOf('login') > 0) {
    // this is component is loaded from login route
  } else {
    // this is loaded from parent component
  }
}
0 голосов
/ 25 сентября 2018

Ответ на ваш вопрос определенно использует Component Lifecycle Hook.

Например, внутри вашего Login Component вы можете использовать ngOnInit () {}, чтобы отследить, создан ли он.Всякий раз, когда вызывается компонент входа в систему, также вызывается эта функция.

  constructor(private logger: LoggerService) { }
  ngOnInit(){
      this.logIt(`onInit`);
  }

Кроме того, существует множество крюков жизненного цикла, выберите любой из тех, которые соответствуют вашему желанию.

...