Während ich Aurelia neu bin, mag ich Aurelia wirklich. Ich habe das "Getting started" mit Aurelia gelesen und habe etwas am configure-Router gelesen. Speziell verwende ich http://mobilemancer.com/2016/11/18/using-router-in-aurelia-spa/ als Grundlage für mein Verständnis.nicht in der Lage, Zeilen von "router.navigation" zu erhalten
Ich befolge die üblichen Konventionen (app.ts, app.html und navigation.html). Ich bin nicht in der Lage, die "repeat.for" über die Zeilen (speziell in diesem Fall eine Zeile) in router.navigation zu durchlaufen. Ich bin mir sicher, dass ich einen elementaren Fehler mache. Aber unfähig, was herauszufinden. Sowohl app.html als auch navigation.html scheinen "ausgeführt" zu werden, wenn sowohl "Aurelia Router Demo" als auch "nett" im Browser erscheinen.
Danke für Ihre Hilfe!
app.ts
import { autoinject } from 'aurelia-framework';
import { RouterConfiguration, Router } from 'aurelia-router';
@autoinject
export class App {
public router: Router;
configureRouter(config: RouterConfiguration, router: Router): void {
this.router = router;
config.title = ' Test ';
config.map([
{route: ['', 'home'], name: 'home', moduleId: './home', nav: true, title: 'Home'},
]);
}
}
app.html
<template>
<require from="./navigation.html"> </require>
<h1> Aurelia Router Demo </h1>
<navigation router.bind="router"> </navigation>
<div class="page-host">
<router-view>
</router-view>
</div>
</template>
--navigation.html
<template bindable="router">
<h2> nice </h2>
<nav>
<ul>
<li repeat.for="row of router.navigation">
<a href.bind="row.href"> ${row.title} </a>
</li>
</ul>
</nav>
</template>
Funktioniert für mich! Wenn Sie die ul/li in Ihrer app.html-Datei löschen, funktioniert das? Ist das der genaue Code (insbesondere Variablenname und Dateiname)? – thinkOfaNumber
Sind Sie zufällig auch Router in der Klasse? Nur eine Vermutung. Ansonsten würde ich empfehlen, den Namen des benutzerdefinierten Navigationselements zu ändern, um einen Bindestrich darin zu haben. Aurelia erlaubt einzelne Wort benutzerdefinierte Elemente, aber der Standard nicht, und ich habe einmal etwas durch die Verwendung von nav.html anstelle von nav-bar.html bekommen. Da es bereits ein Nav-Element gibt (und es wird in der nav.html verwendet, die ich erstellt habe) ... habe ich irgendwie den Browser abgestürzt :-) –