angular(v 4.1.1)路由器canActivate
是否需要多个函数
{
path: '',
component: SomeComponent,
canActivate: [guard1, guard2, ...]
}
应该是这样的吗?如果不是,如果它只假装一名后卫,为什么它会在列表中
因为我有类似的内容,即使guard1
返回false
,guard2
仍会被执行。
提前致谢
Angular 4.1.1
答案 0 :(得分:3)
这应该有效,但我相信守卫是按顺序并行执行的。所以第二个不会等到第一个返回一个值。如果你的警卫是同步的,这不应该真正影响你,但如果它们是异步的,你将遇到这个"问题"。
如果你需要你的警卫相互依赖,你可以将支票的共同部分分开,你的所有警卫都可以称之为逻辑。但我认为在大多数情况下甚至不需要这样做,因为如果只有其中一个失败,则路线不会被激活。