我正在尝试使用升级模块从混合应用程序的角度组件的路线(/ item / {id:[^ /] *} /')中获取数据
我尝试过ActivatedRoute来延缓路由器状态,但它一直在抱怨无效的路由配置。
AppModule
const itemState = {
name: 'item',
url: '/details/item:{id:[^/]*}/',
title: 'Item detail',
component: ItemContainerComponent
};
@NgModule({
entryComponents: [],
declarations: [],
imports: [
BrowserModule,
RouterModule.forRoot([]),
UpgradeModule,
UIRouterUpgradeModule.forRoot({ states: [itemState] }),
],
providers: [
{ provide: LocationStrategy, useClass: HashLocationStrategy }
]
})
ItemContainerComponent
ngOnInit() {
this.route.params.subscribe(params => {
console.log(params['id']);
});
}
无效的路线'':路线必须指定路径或匹配器;区域:任务:Promise.then;值:错误:路由“”的配置无效:路由必须指定路径或匹配器
答案 0 :(得分:0)
似乎解决方案是使用@ uirouter / core中的transition
并执行以下操作。
constructor(private transition: Transition) {}
ngOnInit() {
this.itemId = this.transition.params().id;
}