我试图调试上面的代码,我觉得这非常有用>。<
我甚至无法找到我的代码中的错误,因为Angularjs对我来说还很新,所以我真的不知道从哪里开始。
我试图本地化Angularjs应用。我知道这是为了获得帮助而缺少很多上下文,但是我试图看看我应该提供哪些信息来帮助调试。
我已经浏览了 angularjs 文件中的任何indexOf
,我可以看到很少的内容是undefined
,但我不知道这是否有用
所以我在这里追查了这个问题,这是我认为的问题所在,但仍然没有弄明白为什么......
config(['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider) {
$routeProvider.when('/:locale?/:username/badges', {
templateUrl: '_partials/badges.html',
controller: 'badges'
})
.when('/:username/badges', {
templateUrl: '_partials/badges.html',
controller: 'badges'
})
.when('/:username/teaching-resources', {
templateUrl: '_partials/teaching-resources.html',
controller: 'teachingResources'
})
.when('/:username/makes', {
templateUrl: '_partials/makes.html',
controller: 'makes'
})
.when('/:username/likes', {
templateUrl: '_partials/likes.html',
controller: 'likes'
})
.when('/:username/events', {
templateUrl: '_partials/events.html',
controller: 'events'
})
.when('/:username', {
templateUrl: '_partials/badges.html',
controller: 'badges'
});
$routeProvider.otherwise({
redirectTo: '/error/404'
});
我访问默认页面的网址是:
这将失败并抛出错误。
http://localhost:1969/en-US/user/someUserName
这样可以正常使用
http://localhost:1969/user/someUserName
我想通了!这就是问题所在:
$locationProvider.html5Mode(true);
但为什么!?
答案 0 :(得分:0)
我有同样的错误。要使用html5Mode,您需要确保将<base href="" />
标记设置为标题中的正确网址。有关详细信息,请查看$location service docs。