Навигация в Аурелии добавляет «? Id = 5» вместо «/ 5» - PullRequest
0 голосов
/ 26 ноября 2018

Я перенастроил свой Aurelia Router, используя configureRouter моего app.ts, вот так:

configureRouter(config, router: Router) {
        config.map([
            {
                route: ['users', 'users/:userId?'],
                name: 'users',
                moduleId: './users',
                nav: true,
            },
            //…
       ])
}

, затем у меня есть код, который указывает маршрутизатору перейти к определенному пользователю:

showUser(id: number) {
    const params = { userId: id };
    this.router.navigateToRoute("users", params);
}

Это работало до недавнего времени и дало мне #/users/1.После обновления npm с aurlelia-cli @ 1beta3 на aurelia-cli @ 1beta5 это, похоже, больше не работает, вместо этого генерируется #/users?userId=1 и не удается перейти туда.

Что не так?

1 Ответ

0 голосов
/ 10 декабря 2018

Я собираюсь предположить, что это потому, что маршрутизатор охотно сопоставляет первый из двух имеющихся у вас шаблонов маршрутов и использует его для генерации маршрута.Я бы порекомендовал просто использовать дополнительный параметр маршрута, например, так: 'users/:userId?'.Это описано в нашей документации здесь: https://aurelia.io/docs/routing/configuration

...