Angularjs Angular 1.5组件路由器$canActivate:在没有数据的情况下访问下一条路由并重新路由
事实上,我对$canActivate有三个问题(请参阅下面的代码以更好地理解这些问题):Angularjs Angular 1.5组件路由器$canActivate:在没有数据的情况下访问下一条路由并重新路由,angularjs,angular-component-router,Angularjs,Angular Component Router,事实上,我对$canActivate有三个问题(请参阅下面的代码以更好地理解这些问题): 单击 您可以在$canActivate钩子中插入$nextInstruction,然后可以通过$nextInstruction.params访问您的参数 function canActivate($nextInstruction, $q, $rootRouter, machineDetailsService) { const machineId = $nextInstruction.params.id;
您可以在$canActivate
钩子中插入$nextInstruction
,然后可以通过$nextInstruction.params
访问您的参数
function canActivate($nextInstruction, $q, $rootRouter, machineDetailsService) {
const machineId = $nextInstruction.params.id;
}
我遇到了同样的问题,但找不到任何解决方案将数据从$canActivate
钩子传递到控制器
您可以通过$rootRouter导航到ListView
。导航(['/ListView'])
。注意正斜杠。需要指定,因为您的ListView
不是子路由
Re#2我找到了一种方法,但感觉很粗糙:controller和canActivate都可以访问MachinedDetailsComponent(组件定义对象),因此可以将其用作共享范围。。。
function canActivate($nextInstruction, $q, $rootRouter, machineDetailsService) {
const machineId = $nextInstruction.params.id;
}