Dieses Beispiel hilft Ihnen, $ routeProvider und $ locationProvider besser zu verstehen.
Das einzige Problem, das ich sehe, sind relative Links und Vorlagen, die deswegen nicht richtig geladen werden.
from the docs regarding HTML5 mode
Seien Sie sicher, alle relativen Links, Bilder, Skripte etc. Sie entweder die URL Basis in den Kopf Ihrer Haupt-HTML-Datei() oder müssen Sie angeben, müssen überprüfen verwenden absolute Urls (mit/Start) überall, weil relative URLs mithilfe der ursprünglichen absoluten URL des Dokuments, die sich oft vom Stamm der Anwendung unterscheidet, in absolute URLs aufgelöst werden. In Ihrem Fall können Sie einen Schrägstrich/in href-Attribute ($ location.path macht dies automatisch) und auch templateUrl hinzufügen, wenn Sie Routen konfigurieren. Dadurch werden Routen wie example.com/tags/another vermieden und sichergestellt, dass Vorlagen ordnungsgemäß geladen werden.
Hier ist ein Beispiel, das funktioniert:
<div>
<a href="/">Home</a> |
<a href="/another">another</a> |
<a href="/tags/1">tags/1</a>
</div>
<div ng-view></div>
Und
app.config(function($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/', {
templateUrl: '/partials/template1.html',
controller: 'ctrl1'
})
.when('/tags/:tagId', {
templateUrl: '/partials/template2.html',
controller: 'ctrl2'
})
.when('/another', {
templateUrl: '/partials/template1.html',
controller: 'ctrl1'
})
.otherwise({ redirectTo: '/' });
});
Wenn Chrome Sie müssen dies von einem Server laufen zu lassen.
Console Fehler? –
Kein Konsolenfehler. – user3295929
@PankajParkar, nun habe ich weiter auf Stapelüberlauf geschaut und bin auf eine Antwort von Ihnen hier gestoßen: http://stackoverflow.com/questions/28351124/mvc5-and-angular-js-routing-urls-not-matching in welcher Sie raten, den locationProvider nicht zu verwenden, da er das MVC-Routing beschädigt und Ihrem Rat folgt. Es sieht so aus, als ob Sie den locationProvider entfernen oder ihn auf false festlegen, um das Problem zu beheben. Ich muss noch untersuchen, warum das passiert – user3295929