gpt4 book ai didi

angular - 通过 Angular 2 路由传递动态数据

转载 作者:太空狗 更新时间:2023-10-29 17:10:08 24 4
gpt4 key购买 nike

可以将静态数据传递到 Angular 2 路由而不在 URL 上显示它。

但是我怎样才能以同样的方式传递动态数据/对象呢?

最佳答案

您可以使用解析器。解析器返回的数据可用于路由,就像路由配置上的静态 data 一样

有关示例,请参阅 https://angular.io/guide/router#resolve-guard

@Injectable()
export class CrisisDetailResolve implements Resolve<Crisis> {
constructor(private cs: CrisisService, private router: Router) {}
resolve(route: ActivatedRouteSnapshot): Promise<Crisis>|boolean {
let id = route.params['id'];
return this.cs.getCrisis(id).then(crisis => {
if (crisis) {
return crisis;
} else { // id not found
this.router.navigate(['/crisis-center']);
return false;
}
});
}
}
path: '',
component: CrisisListComponent,
children: [
{
path: ':id',
component: CrisisDetailComponent,
canDeactivate: [CanDeactivateGuard],
resolve: {
crisis: CrisisDetailResolve
}
},
ngOnInit() {
this.route.data
.subscribe((data: { crisis: Crisis }) => {
this.editName = data.crisis.name;
this.crisis = data.crisis;
});
}

关于angular - 通过 Angular 2 路由传递动态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41095349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com