Routes 如何使参数化路由正常工作

Routes 如何使参数化路由正常工作,routes,aurelia,url-parameters,Routes,Aurelia,Url Parameters,我可能只是错过了一些明显的东西,但我无法让:id或*id工作 这是我正在使用的路由配置: { route: 'char/:id', name: 'char', moduleId: 'modules/char/char', href: "char" } 这是我在char.ts中得到的代码: export class Char { activate(params: {id: string}) { console.log(params.id); } } 现在我似乎无

我可能只是错过了一些明显的东西,但我无法让
:id
*id
工作

这是我正在使用的路由配置:

{
  route: 'char/:id',
  name: 'char',
  moduleId: 'modules/char/char',
  href: "char"
}
这是我在char.ts中得到的代码:

export class Char {
  activate(params: {id: string}) {
    console.log(params.id);
  }
}
现在我似乎无法从地址栏为
id
赋值。 这个的语法是什么


(我也尝试过将参数设置为可选,使用
:id?
,但仍然没有任何结果)

结果是,我从一开始就有点倒退了
这就是工作原理:

http://localhost:9000/#char/foobar

那么
id
将等于
foobar

您的路线很好如果您只使用console.log(params),您有什么?它是未定义的吗?@maximedubois不,它不会记录任何东西。如果我导航到
http://localhost:9000/char
当路由设置为
'char/:id?
时,我会被重定向到主页。而如果我导航到
http://localhost:9000/char/
我得到了404。如果我提供一个值
http://localhost:9000/char/?id=42
我在
供应商bundle.js
脚本上得到了一个404。@maximedubois nvm。。。我不熟悉单页框架,不知道我必须在url中的路由名称前面加一个#。谢谢你:)