我似乎在使用@bindable
和<nav-bar router.bind="router"></nav-bar>
時遇到問題。我花了很多時間試圖找出可能丟失的東西,但從我可以告訴的情況來看,我看起來都很完整,但是沒有一條路線出現。它完全是空的,也正在查看DOM,我可以看到沒有任何東西被填充。這用於在WebPack
工作,所以我不知道爲什麼這不會在CLI
工作。Aurelia可綁定路由器不能與CLI配合使用
也能給歷史的一點點,路線都顯示正常,如果我用<require from="./nav-bar.html"></require>
(即與.html
),但我想補充Aurelia-Auth
到我的項目,所以我需要在添加一些代碼nav-bar.js
文件。我有幾乎相同的代碼WebPack
,似乎並沒有失敗,所以我不知道爲什麼CLI
沒有顯示任何東西。
下面是我的代碼簡介。
app.html
<template>
<require from="./styles/bootstrap.css"></require>
<require from="./styles/styles.css"></require>
<require from="./nav-bar"></require>
<nav-bar router.bind="router"></nav-bar>
<div class="page-host">
<loading-indicator loading.bind="router.isNavigating || api.isRequesting"></loading-indicator>
<router-view></router-view>
</div>
</template>
app.js
export class App {
configureRouter(config, router) {
config.title = 'Aurelia';
config.map([
{ route: ['', 'welcome'], name: 'home', moduleId: 'welcome', nav: true, title: 'Welcome' },
{ route: 'contacts', name: 'contacts', moduleId: 'modules/contacts/index', nav: true, title: 'Contacts' },
{ route: 'todo', name: 'TODO', moduleId: 'modules/todo/index', nav: true, title: 'TODO' }
]);
this.router = router;
}
}
NAV-一個bar.html
(也如在與所述評論中所指出/沒有bindable =「router」>沒有任何區別h ERE)
<template bindable="router">
<nav class="navbar navbar-fixed-top navbar-light bg-faded">
<a class="navbar-brand" href="#">
<i class="fa fa-home"></i>
<span>${router.title}</span>
</a>
<ul class="nav navbar-nav">
<li repeat.for="row of router.navigation" class="nav-item ${row.isActive ? 'active' : ''}">
<a class="nav-link" data-target="#skeleton-navigation-navbar-collapse.in" href.bind="row.href">${row.title}</a>
</li>
</ul>
</nav>
</template>
NAV-bar.js
import {inject} from 'aurelia-framework';
import {customElement, bindable} from 'aurelia-framework';
@inject(Element)
@customElement('nav-bar')
export class NavBar {
@bindable router;
constructor() {
console.log('navbar constructor');
console.log(this.router);
}
}
aurelia.json
"transpiler": {
"id": "babel",
"displayName": "Babel",
"fileExtension": ".js",
"options": {
"plugins": [
"transform-class-properties",
"transform-decorators-legacy",
"transform-es2015-modules-amd"
]
},
"source": "src\\**\\*.js"
},
...
"dependencies": [
"aurelia-binding",
"aurelia-bootstrapper",
"aurelia-dependency-injection",
"aurelia-event-aggregator",
"aurelia-fetch-client",
"aurelia-framework",
"aurelia-history",
"aurelia-history-browser",
"aurelia-http-client",
"aurelia-loader",
"aurelia-loader-default",
"aurelia-logging",
"aurelia-logging-console",
"aurelia-metadata",
"aurelia-pal",
"aurelia-pal-browser",
"aurelia-path",
"aurelia-polyfills",
"aurelia-route-recognizer",
"aurelia-router",
"aurelia-task-queue",
"aurelia-templating",
"aurelia-templating-binding"
]
如果有人想看到完整的圖片,和/或下載或測試代碼,我有一個Github公開回購,其中包含兩個包,即CLI
和WebPack
。
另請注意,我將所有軟件包更新到最新版本(包括Babel,Aurelia-CLI和其他版本)。
你不需要模板標籤上的bindable =「路由器」,因爲你已經在你的視圖模型中定義了它。不知道這是不是原因。 – mgiesa
是的,我嘗試刪除它,但它沒有效果:( – ghiscoding