Aureliaで子ルートを使用しようとしています。ネストされたルートの仕組みの周りに頭を浮かべているように見えません。すべてのルートは、アプリケーションのルートから、または現在のルータの場所からの相対パスですか?Aurelia子ルータとダイナミックスの子ルートを使用する方法
なぜ私のroute-hrefはこの例では機能しませんか?私はscreen
という名前のこのルータでルートを持っており、それは私が、その後screens/screen/display
でダミーVM/Vを持って:id
パラメータ
screens/list.ts
@inject(Router)
export class ScreensList {
heading;
router;
screens: any[];
constructor(router){
this.heading = 'Child Router';
this.router = router;
this.screens = [
{
id: 1,
name: 'my screen'
},
{
id: 2,
name: 'my other screen'
}
]
router.configure(config => {
config.map([
// dynamic routes need a href, such as href: screen
{ route: 'screen/:id', moduleId: 'screens/screen/display', name: 'screen', title: 'Screen #1' }
]);
});
}
}
リストビューに
screens/list.html
<li repeat.for="screen of screens">
<a route-href="route: 'screen', params: { id: screen.id }"/>Screen #${screen.id}</a>
</li>
を持っています。 入れ子になっている子ルータのモジュールには完全なファイルパスを指定する必要がありますか?私はそれがルートの親ルータの場所または少なくとも親の名前(ルート)に相対的なルートだろうと思った?
vendor-bundle.js:11582 ERROR [route-href] Error: A route with name ''screen', params: { id: screen.id }' could not be found.
Check that `name: ''screen', params: { id: screen.id }'` was specified in the route's config.
Doh!私はタイプミスで別の答えからアンカータグを貼り付けたコピーを持っていました! これは正しい構文です。 '' ここではルート名(ここでは 'screen')が'route'のルートパターンは、':id'というパラメータをとります。 この単純なことでも、まだ多くの問題があります! –