如何使用没有window.location.reaload的路由器刷新角度页面?

时间:2018-04-24 17:00:01

标签: javascript angular routing angular-routing angular-router

我在组件页面中有重置值的以下方法。页面"新版"将重置组件中的所有值,导航到另一个组件(" 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 :(得分:2)

您没有被迫重新加载整个页面。最好创建一个能够正确清除组件的重置器。

例如,如果您的组件中有表单,则可以使用resetthis.form.reset();整个表单。

例如,您可以在组件中创建reset()方法(您也可以调用组件ngOnDestroy(),这将完全重置表单,变量和unsubscribe observables

重新加载整个应用程序非常暴力,使用消息(toastr或其他任何内容)重置值更加适应。