[英]AngularJS 1.4.8 $locationProvider.html5Mode does not help to remove hash
我正在使用AngularJS 1.4.8。 就像在教程中所說的那樣,我已經創建了路由規則:
alphApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'pages/home.html',
controller: 'mainCtrl'
})
.when('/alphabet', {
templateUrl: 'pages/alphabet.html',
controller: 'alhabetController'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
}]);
但是當我按下鏈接
<a href="#alphabet">
地址欄顯示域/#alphabet ,內容保持不變,直到我更新頁面。 頁面更新后,URL變成具有正確內容的域/字母 。 如果我刪除此部分:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
網址看起來像domain /#/ alphabet,但內容會正確更改。 可以通過將angular降級到1.2.25來解決此問題,這會導致get-params出現問題,那么有沒有辦法在不降低angular的情況下擁有漂亮的url?
您的href告訴瀏覽器轉到oldpath /#alphabet,oldpath / alphabet。 您需要將hrefs更改為:
href="/alphabet"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.