我正在使用angularJS,我尝试建立一个主页。我的routeconfig如下所示:
var app = angular.module('mml-annie', ['mmlServices']);
app.config(['$locationProvider', function($location) {
$location.html5Mode(true); //now there won't be a hashbang within URLs for browers that support HTML5 history
}]);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/team', {
templateUrl: 'partials/team',
controller: TeamCtrl
}).
otherwise({
redirectTo: '/home'
});
}]);
出于测试目的,我的控制器看起来像这样:
function TeamCtrl($scope, Team) {
console.log("TEST");
}
除非我的路径获得添加/字段,否则我工作正常。当我将"/team"
更改为"/team/team/test"
时,我的应用会调用控制器直到应用崩溃。不使用html5模式修复了这个问题。但我宁愿使用漂亮的HTML5模式而不使用hashbang。
应用程序在node.js
上使用express运行,该应用程序为除API调用之外的所有请求提供角度应用程序。
你知道发生了什么吗?我不知道...... 当然,如果需要,我可以提供更多信息。
答案 0 :(得分:5)
解决方案如下:
我的部分没有相对路径前缀"/"
。因此,每当我尝试在路径中前进时,服务器都会查找不存在的部分内容,例如:/ team / partials / team
节点然后再次发送基本布局,该布局本身就是ng-view div,并从头开始。
为什么我总是喋喋不休地等待2个小时 - 然后决定写一个问题,2分钟后我找到答案....