2017-02-24 4 views
0

Was ist der richtige Weg, um Links zu eckigen Routen im Hashbang (nicht-HTML5) Modus zu definieren?Wie definiere ich Links zu eckigen Routen im Hashbang-Modus?

Angenommen, ich habe das folgende nav. Bar:

<div class="collapse navbar-collapse"> 
    <ul class="nav navbar-nav"> 
     <li><a href="#!/first">First</a></li> 
     <li><a href="#!/second">Second</a></li> 
    </ul> 
    <ul class="nav navbar-nav navbar-right"> 
     <li><a href="#!/" ng-click="logout()">Logout</a></li> 
    </ul> 
    </div> 

Es funktioniert, aber ich habe folgende Fragen in den Sinn:

  • ich viele Artikel gesehen, wo Autoren über /first oder #/first statt #!/first das gleiche tun, aber es funktioniert nicht Arbeit für mich aus irgendeinem Grund (Ich denke, das ist, weil ich #! als einen Hashstring verwende, aber ich weiß nicht, warum es so viele Beispiele mit #/first statt #!/first gibt, wenn Letzteres der Standard ist)
  • Ist es in Ordnung, logout Aktion auf diese Weise zu definieren?

    <li><a href="#!/" ng-click="logout()">Logout</a></li> 
    

Weil es für mich ein bisschen hässlich scheint.

+0

Winkelrouten wurden in 1.6 geändert. siehe http://stackoverflow.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working – Claies

Antwort

1

Die Hash-Bang-Synthax ist new from Angular 1.6. Diese Version ist noch neu, es kann erklären, warum Sie nicht viele Artikel mit dem Hash-Bang-Routing sehen.

Wie dem auch sei, von dieser Linie:

<li><a href="#!/" ng-click="logout()">Logout</a></li> 

Sie die Umleitung auf die logout() Funktion bewegen kann:

$scope.logout = function() { 
    ... 
    $location.url('/home'); 
} 

nicht Vergessen $location zu injizieren.

+0

Ja, das mache ich eigentlich. Es ist also völlig in Ordnung, oder? Und was ist mit der anderen Frage? – FrozenHeart

+0

@ FrozenHeart Meiner Meinung nach ist es der sauberste Weg. Ich habe meine Antwort über die '#! /' Synthax aktualisiert, hoffe es hilft! :) – Mistalis

+0

Sind Sie sicher, dass das Argument location.url eine Hashbang-Zeichenfolge haben sollte? Es funktioniert auch ohne es – FrozenHeart

Verwandte Themen