嘿,我正在尝试在基于此博客的 Angular 项目中启用 html5,但使用 ui-router https://scotch.io/tutorials/pretty-urls-in-angularjs-removing-the-hashtag和 Angular 文档
https://docs.angularjs.org/api/ng/provider/ $locationProvider
基本上我一直收到一个错误,说 html5Mode 不是一个函数,这让我很困惑为什么。
我已将其包含在我的配置文件中,并调整了 URL(包括基本 URL)。一切正常,但一旦我添加
$locationProvider.html5Mode()
我收到一条错误消息,指出它不是一个函数。所以我想我的问题是函数名称是否已更改,我是否缺少依赖项,如果没有,为什么这不起作用?预先感谢您花时间帮助我。
angular.module('myApp', [
'ui.router',
'ui.bootstrap',
'ngTouch',
'ngAnimate',
'myApp.version'
]).
config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $locationProvider) {
$locationProvider.html5Mode({
enabled: true
});
$stateProvider
.state('home' , {
url: '/home',
templateUrl: 'app/landingPage/landingPage.html'
})
.state('landingPage', {
url: '/landing-page',
templateUrl: 'app/homePage/homePage.html'
})
}]);
最佳答案
您忘记注入(inject) $urlRouterProvider 作为第二个参数。
关于javascript - $locationProvider.html5Mode 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38857413/