2017-01-25 3 views
1

Habe meine Route in meiner app generieren:AngularJS Routing-Problem schlecht url

app.config(function($routeProvider){ 
    $routeProvider 
     .when('/',{ 
      templateUrl: './partials/home/home.html', 
      controller: 'mainCtrl'} 
     ) 
     .when('/article',{ 
      templateUrl: './partials/article/article.html', 
      controller: 'articleCtrl'} 
     ) 
     .otherwise({ 
      redirectTo: '/' 
    }); 

}); 

Es funktioniert!

Aber Link war bas :( erstelle ich meine Verbindung wie folgt aus:

<div class="read-more"><a href="#article">Lire plus...</a></div> 

meine schlechte Verbindung: http://localhost:10001/#!/#article

gegen die gute Verbindung war: http://localhost:10001/#!/article

Wer falsch war

thx

PS Ich benutze Knoten Lite-Server

Antwort

2

Diese http://localhost:10001/#!/article ist die richtige URL.

Der Grund dafür ist, wenn der Browser HTML5 ist AngularJS Browser es #!

umleitet Sonst wird es nur # sein.

Lesen Sie diese documentation here auf $location, um mehr darüber herauszufinden, warum dies geschieht.

  • eine regelmäßige URL in einem Legacy-Browser öffnen -> Umleitungen an eine Hash-Bang URL
  • Eröffnung Hash-Bang-URL in einem modernen Browser -> neu schreibt eine regelmäßige URL