Sie müssen den Link auf '# /' setzen, da Ihr eckiges Routing im Hashbang-Modus arbeitet. Werfen Sie einen Blick auf diese thread für weitere Informationen über Hasband-Modus und HTML5-Modus. Wenn Sie das '#' von Ihren Routen loswerden möchten, versuchen Sie, den HTML5-Modus zu aktivieren.
app.config(['$routeProvider', '$locationProvider' function ($routeProvider, $locationProvider) {
$routeProvider.
when('/patients', {
templateUrl: '/templates/dashboard.html',
requireLogin: true,
resolve: {
auth: function (SessionService) {
SessionService.resolve()
}
}
}).
when('/', {
redirectTo: '/patients'
}).
otherwise({
redirectTo: '/login'
});
$locationProvider
.html5Mode(true)
}])
Nur ein Wort der Vorsicht, nach der Aktivierung von HTML5-Modus, direkte Winkel Links können nicht funktionieren: Der Code würde etwas Link mit diesem sein. Sie müssen die Serverkonfiguration ein wenig ändern, um die Links zum Einstiegspunkt in Ihrer Anwendung neu zu schreiben. Wenn Sie ASP.NET verwenden, fügen Sie in Ihrer Datei web.config eine Rewrite-Regel hinzu. Fügen Sie dies unter dem Abschnitt system.webServer
<rewrite>
<rule name="HTML5 Compatible Mode" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rewrite>
Verwenden Sie HTML5Mode? Wenn nicht, sollten Sie wahrscheinlich 'href =" #/"' verwenden. Wenn Sie * HTML5Mode * verwenden, müssen auf dem Server Konfigurationsänderungen vorgenommen werden, damit die relativen href-Verweise korrekt funktionieren. Daher kann die Auflistung Ihres Servers hilfreich sein. – Claies
Arbeitete! Vielen Dank. Wenn Sie die Punkte wollen, setzen Sie Ihren Kommentar in eine Antwort, und ich werde es akzeptieren. – Kraken
Fühlen Sie sich frei, die bereitgestellte Antwort als angenommen zu markieren, wenn Sie denken, dass es hilft. Ich wollte keine Antwort geben, die Hashbang- und HTML5-Modi nicht ausreichend erklärt, was die bereitgestellte Antwort tut. – Claies