我正在使用 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
});
url 看起来像domain/#/alphabet但内容会正确更改。这个问题可以通过将 angular 降级到 1.2.25 来解决,但是它会导致 get-params 出现问题,那么有没有办法在不降级 angular 的情况下拥有漂亮的 url?