我想创建一个停用的防护装置,只有在儿童路线外导航时才会被移动。
在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后,每次路径更改都会触发保护。什么是正确的行为?有没有更好的方法来处理这种情况?
答案 0 :(得分:0)
我相信你可以添加
canDeactivate: [CanDeactivateGuard]
在您的子路由定义中,而不是父路由。
答案 1 :(得分:0)
这是一个错误,它现在按预期工作。