1

我正在尝试使用升级模块从混合应用程序的角度组件中的路由(/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;值:错误:路由''的配置无效:路由必须指定路径或匹配器

4

1 回答 1

0

似乎解决方案是使用transition“@uirouter/core”并执行以下操作。

constructor(private transition: Transition) {}

ngOnInit() {
  this.itemId = this.transition.params().id;
}

于 2019-05-20T20:46:53.663 回答