【发布时间】:2016-12-18 12:12:24
【问题描述】:
我正在使用 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">
地址栏显示 domain/#alphabet 并且内容保持不变,直到我更新页面。页面更新后 url 变为 domain/alphabet 并具有正确的内容。如果我删除这部分:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
网址看起来像 domain/#/alphabet,但内容会正确更改。这个问题可以通过将 angular 降级到 1.2.25 来解决,但是它会导致 get-params 出现问题,那么有没有办法在不降级 angular 的情况下拥有漂亮的 url?
【问题讨论】:
标签: javascript angularjs routing friendly-url angular-route-segment