Получение текущего маршрута в App.Component не работает - PullRequest
0 голосов
/ 22 октября 2018

В моих угловых проектах у меня есть разные лениво загруженные модули и компоненты для настольной и мобильной версии.

Когда я захожу на свою страницу, я не хочу, чтобы приложение решало, мобильное ли это устройство илибольшее (настольное) устройство.В зависимости от того, что я направляю на /mobile/... или /desktop/....

, я начал с этого кода:

if (window.innerWidth < 450) {
  this.router.navigateByUrl('/mobile');
} else {
  this.router.navigateByUrl('/desktop');
}

Пока это работает, но есть одна проблема.Когда я нахожусь на маршруте, подобном /mobile/page1, и перезагружаю страницу, я возвращаюсь к /mobile.

Чтобы предотвратить это, я попытался проверить текущий маршрут и посмотреть, является ли он /mobile или/desktop маршрут и затем маршрут правильно.Вот так:

const currentRoute = this.router.url;
const isOnMobile = currentRoute.split('/')[1] === 'mobile' ? true : false;

if (window.innerWidth < 450) {
  if (!isOnMobile) {
    this.router.navigateByUrl('/mobile');
  }
} else {
  if (isOnMobile) {
    this.router.navigateByUrl('/desktop');
  }
}

Но я не могу получить URL-адрес внутри моего app.component.URL всегда просто '/'.

1021 * Любая идея?
...