使用路由器事件停止导航在component.ts中不起作用

时间:2019-09-01 09:58:16

标签: routing angular6

我需要在表单中有任何未保存的数据时停止路由。

  • 我正尝试通过使用路由器事件来解决此问题。
  • 在NavaigationStart中,即使我正在检查表单状态并使用 router.events.isStopped停止导航。
  • 这行代码是 在调试模式下在控制台中尝试时可以正常工作,但无法正常工作 当我在component.ts中执行相同的操作

constructor(public router: Router, public modalService: ModalService) {
    router.events.subscribe((event) => {
        if (event instanceof NavigationStart) {
            if (!this.submitted && this.itemDataForm.dirty) {
                router.events[`isStopped`] = true;
                router.events[`closed`] = true;
                modalService.open(this.confirmationModal);
            }
        }
    });
}

预期结果:停止当前导航

0 个答案:

没有答案