Это, кажется, работает хорошо с базовой настройки, как показано ниже. Я взбивал его вместе с последней версией Aurelia CLI (v0.23). В этой установке есть три файла: вид (HTML), то ViewModel (ц) и маршрут (app.ts):
просмотров/редактирование-dots.html
<template>
<p>email: ${email}</p>
</template>
просмотров /edit-dots.ts
export class EditDots {
public email;
activate(params: any) {
console.log('here are *all* your parameters: ', params);
this.email = params.email;
}
}
И, наконец, маршрут конфигурации (в app.ts в моем случае):
import { Router, RouterConfiguration } from 'aurelia-router'
export class App {
router: Router;
configureRouter(config: RouterConfiguration, router: Router) {
config.title = 'Stack';
config.map([
{ route: ['', 'home'], name: 'home', moduleId: './views/home', nav: true, title: 'Home' },
{ route: 'dots/:id', name: 'edit-dots', moduleId: './views/edit-dots', nav: false, title: 'Create a dot' }
]);
this.router = router;
}
}
Когда я перехожу к http://localhost:9001/#dots/[email protected] с этой настройкой, он аккуратно отображает адрес электронной почты. Конечно, я могу удалить «42», это просто для демонстрационных целей.
Заключительная записка, ваш пример URL не подходит для # -знака. Если это преднамеренно, вы можете указать более подробную информацию о своей конфигурации. В противном случае, помогает ли это добавить его?
Возможно, это также помогает вам?
Приложение настроено для состояния push, поэтому в URL-адресе отсутствует hashbang. Возможно, есть проблема, когда включено состояние нажатия ...? –
Действительно, если вы используете, например, ASP.NET (MVC) для вашего состояния Push, это [известная проблема] (http://stackoverflow.com/questions/11728846/dots-in-url-causes-404- с-Asp-нетто-MVC-и-IIS). Другие технологии или инструменты могут также иметь проблемы? –
Вау, это жутко похоже на мою проблему. :) Не могу поверить, что я уставился на Аурелию - ошибка новобранец! Спасибо за вашу помощь! –