为什么我的URL路径中有哈希值,如何摆脱它?

时间:2015-01-14 13:33:02

标签: angularjs angular-ui-router

在我的Angular应用中,使用ui-router,当我在我的应用中转到我的任何状态时,浏览器中显示的网址就像

http://localhost/budgeteering/v4/src/app/#/user/joe

那里的哈希令我感到困惑。

为什么它在那里,我该如何摆脱它?它导致<a href="#">标签出现一些问题,否则很烦人。

这是我的州的样子:

          .state('user', {
                abstract: true,
                url: '/user/:username',
                resolve:{
                    username: ['$stateParams', function($stateParams){
                        return $stateParams.username;
                    }]
                },
                controller: 'userCtrl',
                templateUrl: 'user/userhome.html'
            })

1 个答案:

答案 0 :(得分:0)

Angular 1.3需要<base href="">的概念,请参阅 docs 。如果您需要更改以下代码,请输入配置以利用html5路由(并删除哈希)

app.config(['$stateProvider', '$locationProvider', function ($stateProvider, $locationProvider) {

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

    //[.. state stuff ..]
}]);

在Angular 1.3之前,这只是$locationProvider.html5Mode(true)