AngularJS 1.4.8 $ locationProvider.html5Mode没有帮助删除哈希

时间:2016-08-11 16:27:34

标签: javascript angularjs routing friendly-url angular-route-segment

我正在使用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 ,内容保持不变,直到我更新页面。页面更新后网址变为域/字母并具有正确的内容。如果我删除这部分:

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false
});

网址看起来像域/#/ alphabet ,但内容会正常更改。这个问题可以通过将角度降低到1.225 howerwer来解决它导致get-params的问题,那么有没有办法让漂亮的网址没有降级角度?

1 个答案:

答案 0 :(得分:0)

你的href告诉浏览器转到oldpath /#alphabet,oldpath / alphabet。您需要将您的href更改为:

href="/alphabet"