gpt4 book ai didi

javascript - $routeProvider/$locationProvider 不是 AngularJS 路由中的函数

转载 作者:数据小太阳 更新时间:2023-10-29 06:01:13 24 4
gpt4 key购买 nike

我正在尝试在 AngularJS 中创建所谓的“SEO 友好”URL。

在我用于路由的 script.js 中:

app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.html5Mode(true);
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
}]);

app.controller("BlogController", function($scope) {
$scope.title = 'Blog';
});

app.controller("IdeasController", function($scope) {
$scope.title = 'Ideas';
});

为了从 URL 中删除#,我启用了 html5 模式:

$routeProvider.html5Mode(true);

但是,这会导致以下错误:

Failed to instantiate module exampleApp due to: TypeError: $routeProvider.html5Mode is not a function

有人能解决这个问题吗?这意味着内容不会因此而从 View 中显示。

编辑:对于任何想知道的人,工作代码是:

app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
$locationProvider.html5Mode(true);
}]);

最佳答案

html5mode $locationProvider 上提供了方法 vendor 。

您应该包括 $locationProvider在您的配置阶段使该依赖项在配置 block 中可用,然后启用 html5mode对于 #免费网址。

代码

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

//$routerProvider code here

$locationProvider.html5Mode(true);

}]);

此外,您还必须添加 <base href="/" > index.html 上的标签页

关于javascript - $routeProvider/$locationProvider 不是 AngularJS 路由中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com