Aurelia 1.0 маршрутизация configureRouter никогда не вызывается
Я пытался следовать некоторым учебникам по маршрутизации aurelia.io, как этот http://www.tutorialspoint.com/aurelia/index.htm
Я реализовал метод configureRouter в своем классе приложения, но он никогда не вызывался
app.js
export class App {
constructor()
{
console.log("app");
}
configureRouter(config, router){
console.log("configureRouter");
config.title = 'Aurelia';
config.map([
{ route: ['','home'], name: 'home',
moduleId: './components/home/home', nav: true, title:'Home' },
{ route: 'about', name: 'about',
moduleId: './components/about/about', nav: true, title:'About' }
]);
this.router = router;
}
}
app.html
<template>
<nav>
<ul>
<li repeat.for = "row of router.navigation">
<a href.bind = "row.href">${row.title}</a>
</li>
</ul>
</nav>
<router-view></router-view>
</template>
Насколько я понимаю, метод configureRouter в app.js должен вызываться автоматически, когда в шаблоне обнаружено представление router-view, но это не так (и я не получаю никаких ошибок в консоли chrome)
Есть идеи?
2 ответа
Не читал учебник, но, похоже, он работает на моей машине, может быть, что-то неправильно настроено в вашем index.html?
Смотрите здесь для рабочего примера вашего кода (с использованием Chrome): https://gist.run/?id=49f3aa8ac6cb72f2efc22c3073bc42d8
Это также не работает на вашей машине?
Btw. Остановитесь на скелетах Аурелии, они являются легкой отправной точкой https://github.com/aurelia/skeleton-navigation
У меня была похожая проблема, но оказалось, что если нет <router-view></router-view>
в шаблоне метод configureRouter никогда не вызывается. Даже если вы нашли свое решение, но, возможно, другие люди могут найти облегчение и в этом решении
Источник: https://www.niclassahlin.com/2016/03/13/aurelia-router-configuration-caveat/