Как перезагрузить весь компонент с угловым при изменении маршрута? - PullRequest
0 голосов
/ 14 января 2019

Я хочу перезагрузить или повторно отобразить компонент боковой панели при изменении маршрута. У меня есть следующий код:

  constructor(
    private auth: AuthService,
    private router: Router,
    private changeDetector: ChangeDetectorRef
  ) {
    this.auth.currentUser.subscribe(x => this.userData = x);
    this.router.events.subscribe((event) => {
      if (event instanceof NavigationStart) {
        this.changeDetector.detectChanges();
        console.log('enter');
      }
    });
  }

Это вводит, чтобы показать журнал 'enter', но не перезагружать компонент. Кто-нибудь может помочь с примером?

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Если вы хотите перезагрузить всю страницу, просто используйте

window.location.reload();
0 голосов
/ 14 января 2019

Обычно маршрутизация компонентов не перезагружается, потому что angular работает как SPA (одностраничное приложение) - но вы можете настроить components для загрузки, чтобы уменьшить размер браузера, если это единственный случай

Используйте href и ваш путь к имени routerLink на вашей боковой панели anchor ссылка - это заставит ваш компонент перезагружаться каждый раз, когда вы нажимаете - каждый раз, когда он будет загружать все ваши js с сервера - если вы lazy загружать этот процесс не правильно - это только поможет вам уменьшить использование ОЗУ браузера при каждом клике и не сохранять прежние данные, но маршрутизация будет работать так же

Так что href будет словом для вашего вопроса - но убедитесь, что вы действительно хотите загрузить свои компоненты

Надеюсь, это поможет - Happy Coding:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...