gpt4 book ai didi

javascript - 如何从 angularjs ng-route 中删除哈希#

转载 作者:可可西里 更新时间:2023-11-01 01:35:33 24 4
gpt4 key购买 nike

我正在尝试使用 locationProvider 从 angular js 中的 url 路由中删除主题标签,但它给了我错误。

应用程序.js

var eclassApp = angular.module('eclassApp', 
['ngRoute', 'eclassControllers', ]
);

eclassApp.config(['$routeProvider','$locationProvider',
function ($routeProvider, $locationProvider){
$routeProvider.
when('/',{
templateUrl: '/html/student-list.html',
controller: 'StudentsListCtrl',
}).
when('/students/:studentId',{
templateUrl: '/html/student-details.html',
controller: 'StudentDetailsCtrl',

}).otherwise({
redirectTo: '/students'
});
$locationProvider.htmlMode(true);
}]
);

错误:

 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.13/$injector/modulerr?p0=eclassApp&p1=TypeE…oogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.13%2Fangular.min.js%3A17%3A1)

我错过了什么吗?

编辑:像这样使用选项对象调用 html5Mode 函数

$locationProvider.html5Mode({
enabled:true
})

我得到以下错误(更改为 Angular 完整以获得更好的错误解释而不是缩小版本)

Error: [$location:nobase] $location in HTML5 mode requires a <base> tag to be present!

http://errors.angularjs.org/1.3.13/$location/nobase

最佳答案

您可以像这样使用 $locationProvider -

$locationProvider.html5Mode({
enabled: true,
requireBase: false
});

或者,您可以在 index.html 中使用 base 标签(我想这是您的着陆页)

<head>
<base href="/">
</head>

删除 base 标签可能会在旧的 IE 浏览器(如 IE9)中产生一些副作用

关于javascript - 如何从 angularjs ng-route 中删除哈希#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629774/

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