Ich hatte erwartet, diese Frage auf Stackoverflow zu sehen, tat es aber nicht. Anscheinend bin ich der einzige, der dieses Problem hat, das mir sehr häufig vorkommt.
Ich habe ein grundlegendes Projekt, an dem ich arbeite, aber die Routen scheinen nicht zu funktionieren, obwohl alles, was ich bisher getan habe, richtig zu sein scheint.
Ich habe dieses Stück HTML in meiner index.html
Datei:
<html>
<head ng-app="myApp">
<title>New project</title>
<script src="https://code.angularjs.org/1.6.0/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.0/angular-route.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<a href="#/add-quote">Add Quote</a>
<div ng-view ></div>
</body>
</html>
und hier ist mein app.js
:
var app = angular.module('myApp', ['ngRoute']);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/add-quote', {
templateUrl: 'views/add_quote.html',
controller: 'QuoteCtrl'
})
.otherwise({ redirectTo: '/' });
}]);
Wenn ich jetzt nur die Seite besuche, bekomme ich Folgendes in der URL:
und wenn ich auf den Add quote
Button klicke, bekomme ich folgendes:
Was kann hier das Problem sein? Danke für die Hilfe
angularjs
angular-routing
ngroute
angularjs-ng-route
angularjs-1.6
Awa Melvine
quelle
quelle
Antworten:
Verwenden Sie einfach Hashbang
#!
in der href:Aufgrund von aa077e8 wurde das Standard-Hash-Präfix, das für $ location-Hash-Bang-URLs verwendet wird, von der leeren Zeichenfolge (
''
) in bang ('!'
) geändert .Wenn Sie tatsächlich kein Hash-Präfix haben möchten, können Sie das vorherige Verhalten wiederherstellen, indem Sie Ihrer Anwendung einen Konfigurationsblock hinzufügen:
Weitere Informationen finden Sie unter
Tut mir leid, dass ich auf mein hohes Pferd gestiegen bin, aber ... Wie wurde das veröffentlicht? Dies ist ein massiver, brechender Fehler. - @MiloTheGreat
quelle
Fügen Sie einfach das
!
in dashref
:quelle
Ich konnte das Routing in 1.6.4 nicht zum Laufen bringen, daher habe ich mich für Angular 1.5.11 entschieden und das Routing funktioniert einwandfrei, obwohl ich alle meine Routings definieren musste, wenn (..) mit nachfolgendem "/" funktioniert.
Wenn es für Sie eine Option ist, sich an eine ältere Version von Angular zu halten, sollten Sie dies in Betracht ziehen, da dies Ihre Nerven retten kann ...
quelle
quelle
Versuchen Sie dies könnte helfen ...
In HTML oder Seite anzeigen
In der Skriptseite
quelle