Как обновить угловую страницу с роутером без window.location.reaload? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть следующий подход для сброса значений на странице компонента.На странице «new-edition» будут сброшены все значения в компоненте, перейдя к другому компоненту («my-editions»), а затем перейдите к исходному местоположению «new-edition».Но я хочу знать, существует ли другой способ сделать это, windows.location.reload () не является опцией, потому что маршрутизация настроена так, чтобы переместиться в "parent-app".

confirmReset() {
   this.confirmationService.confirm({
     message: 'Do you want to reset?',
     header: 'Reset',
     accept: () => {
        // window.location.reload();
        this.router.navigate(['/parent-app/my-editions']);
        this.router.navigate(['/parent-app/new-edition']);
        this.router.nav
     },
   reject: () => {}
  });
}

1 Ответ

0 голосов
/ 24 апреля 2018

Вы не обязаны перезагружать всю страницу.Лучше создать средство сброса, которое будет правильно очищать компонент.

Например, если у вас есть форма в вашем компоненте, вы можете сбросить всю форму с this.form.reset(); и т. Д.

Например, вы можете создать в своем компоненте метод reset() (который вы также можете вызвать в свой компонент ngOnDestroy(), который будет полностью сбрасывать формы, переменные и отписываться от наблюдаемых).

Перезагрузка всего приложения - довольно жестокая вещь, сброс значений с помощью сообщения ( toastr или чего-либо еще) гораздо более адаптирован.

...