2016-10-27 2 views
2

zu handhaben Ich habe eine Navigationsleiste mit unten Code. Aber wenn ich auf das Ankerelement klicke, wird der relative Pfad nicht an die Anwendungs-URL angehängt und der Router funktioniert nicht. Wie kann ich es funktionieren lassen?Wie Routing von Anker Klicks in Aurelia

<nav class="ui menu inverted navbar"> 
     <a href="\test1" class="brand item">Test1</a> 
     <a href="\test2" class="active item">Test2</a> 
     <a href="\register" class="item">Register</a> 
     <a href="\login" class="item aligned right">Login</a> 
    </nav> 

Eine Option i bekam einen Router konfiguriert hat, in meiner app.ts/js und dann das Router-Objekt verwenden, um die Menüpunkte wie diese zu erhalten. gemäß diesem post

<nav> 
     <ul> 
     <li repeat.for = "row of router.navigation"> 
      <a href.bind = "row.href">${row.title}</a> 
     </li> 
     </ul> 
    </nav> 

und andersrum ist click.delegate an jedem Ankerelement und in dem Modell Rückkehr this.router.navigate("specific path like \login or \register") von den auf Click-Funktion

+0

Ich habe das gleiche Problem. Der Browser interpretiert alle hrefs mit "#myID" als absolut, anstatt auf derselben Seite zu navigieren. Hast du das jemals herausgefunden? Ich benutze Pushstate. – esmoore68

Antwort

0

Für gelegentliche Verwendung von Anker-Tags zu verwenden, die Sie mögen, Verwenden Sie Routen von der Aurelia Router, können Sie das folgende Format verwenden:

<a route-href="route:route-as-declared-in-router">Click Me!</a>