我想创建一个仅在子路线之外导航时触发的停用守卫。
在 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 后,每次路径更改都会触发防护。什么是正确的行为?有没有更好的方法来处理这种情况?