【发布时间】:2017-11-02 14:47:14
【问题描述】:
我有一个 Angular 4 应用程序。在一个页面(editionPage)上,我想在离开页面之前打开一个对话框来确认是否保存。
所以,我有一个按钮可以转到上一页。当我单击此按钮时,我会打开对话框。
但我也想在单击侧边栏菜单中的按钮时打开对话框。
这是我的侧边栏菜单:
<nav class="sidebar" [ngClass]="{sidebarPushRight: isActive}">
<ul class="list-group">
<a routerLink="/first" [routerLinkActive]="['router-link-active']" class="list-group-item">
<div class="titleMenu first" >{{ 'first' | translate }}</div>
</a>
<a routerLink="/tests" [routerLinkActive]="['router-link-active']" class="list-group-item">
<div class="titleMenu">{{ 'Tests' | translate }}</div>
</a>
</ul>
</nav>
然后我像这样打开我的模态对话框:
this.bsModalRef = this.modalService.show(DialogSaveEditComponent);
我尝试使用带有CanDeactivate 的守卫,但它并没有像我想要的那样工作,因为我可以在对话框打开后返回正确的布尔值,所以在后台页面更改之前选择选项或背景永远不会改变。
你知道我该怎么做吗?
编辑
现在我调用一个函数,当我单击菜单中的按钮时会打开一个对话框。但是由于routerLink="/first" [routerLinkActive]="['router-link-active']" 页面发生了变化,然后出现了对话框。单击对话框中的按钮后如何更改页面或取消更改页面?
【问题讨论】:
标签: angular typescript dialog modal-dialog