0

我目前正在使用 angularJS,并尝试建立一个主页。我的路由配置如下所示:

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 模式可以解决问题。但我宁愿使用没有 hashbang 的漂亮 HTML5 模式。

该应用程序使用 express 运行,node.js它为除 API 调用之外的所有请求提供角度应用程序。

你知道发生了什么吗?我不知道......
当然,如果需要,我可以提供更多信息。

4

1 回答 1

5

解决方法如下:

我的部分没有相对路径前缀"/"。因此,每当我尝试在路径中前进时,服务器都会查找不存在的部分,例如:/team/partials/team

然后 Node 发送了基本布局,该布局再次具有自身的 ng-view div 并重新开始。

为什么我总是摆弄 2 个小时——然后决定写一个问题,2 分钟后我找到了答案....

于 2013-02-01T15:34:42.300 回答