Ale*_*mia 2 javascript angular-routing angular angular-router-guards angular-router
为什么id在后卫中不可用?
@Injectable()
export class ProjectDetailsGuard implements CanActivate {
constructor(private activatedRoute: ActivatedRoute) { }
canActivate() {
const id = this.activatedRoute.snapshot.params['id'];
console.log(id); // <-- undefined
}
}
Run Code Online (Sandbox Code Playgroud)
在组件内部实现时,相同的代码可以完美地工作。
在ActivatedRoute能够提供PARAMS路线被激活之后。如果需要params在激活之前获取,例如在canActivate方法中,请尝试ActivatedRouteSnapshot
canActivate(activatedRoute: ActivatedRouteSnapshot) {
const id = activatedRoute.params['id'];
console.log(id);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
544 次 |
| 最近记录: |