1

我想创建一个仅在子路线之外导航时触发的停用守卫。

在 rc4 ("@angular/router": "3.0.0-beta.1") 中,此代码按描述工作:

 path: '',
    component: RootComponent,
    canDeactivate: [CanDeactivateGuard],
    children: [
        {
            path: '',
            component: XComponent,
        },
        {
            path: 'somepath',
            component: YComponent
        }
        ]
}

在此示例中,从 XComponent 导航到 YComponent 不会触发停用保护,但例如导航到“someNotChildComponent”会触发。

更新到@angular/route 3.0.0-rc.1 后,每次路径更改都会触发防护。什么是正确的行为?有没有更好的方法来处理这种情况?

4

2 回答 2

0

我相信你可以添加

canDeactivate: [CanDeactivateGuard]

在您的子路由定义而不是父路由中。

于 2016-08-28T16:32:29.503 回答
0

这是一个错误,它现在按预期工作。

于 2017-01-16T22:14:51.223 回答