[英]Angular JS remove hash from URL not working
我试图摆脱看起来像http://example.com/#/album/0的网址,而让它看起来更像http://example.com/album/0 。
我有以下代码
(function() {
var app = angular.module('chp', ['ngRoute', 'projectControllers']);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.
when('/', {
templateUrl: 'partials/directory.html',
controller: 'ProjectsCtrl'
}).
when('/album/:id', {
templateUrl: 'partials/album.html',
controller: 'ProjectDetailCtrl'
}).
otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
}]);
var projectControllers = angular.module('projectControllers', []);
projectControllers.controller('ProjectsCtrl', ['$scope', '$http',
function ($scope, $http) {
$scope.projects = albums;
$scope.filters = { };
}]);
projectControllers.controller('ProjectDetailCtrl', ['$scope', '$routeParams', '$sce',
function($scope, $routeParams, $sce) {
$scope.project = albums[$routeParams.id];
})();
但这一旦我在所示的三个位置添加$ locationProvider,便导致我的应用完全中断。 关于为什么这对我不起作用的任何想法吗? 我也在jquery和angular.js之后添加了angular-route.js,所以不能成为问题
乍一看对我来说还不错,但您必须确保将服务器设置为可以为任何路由提供http://example.com/index.html
,否则它将尝试加载http://example.com/album/0/index.html
然后再引导您的角度应用程序。 启用html5后会看到什么? 404找不到? 控制台错误?
您可能还需要在index.html文件的<head></head>
内添加<base href="/" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.