Как использовать ActivatedRoute в угловом режиме при использовании гибридной маршрутизации? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь получить данные из маршрута (/ 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; Значение: Ошибка: неверная конфигурация маршрута '': для маршрутов должен быть указан либо путь, либо сопоставление

1 Ответ

0 голосов
/ 20 мая 2019

Похоже, решение состоит в том, чтобы использовать transition из '@ uirouter / core' и сделать что-то вроде ниже.

constructor(private transition: Transition) {}

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

...