簡體   English   中英

AngularJS 1.4.8 $ locationProvider.html5Mode不能幫助刪除哈希

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM