3

下面是我的 app.js 和 controllers.js 文件的样子:

angular.module('RayAuth', ['RayAuth.filters', 'RayAuth.services', 'RayAuth.directives']).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.
      when('/', {
        templateUrl: 'partials/index.html',
        controller: IndexCtrl
      }).
      when('/users', {
        templateUrl: 'partials/users.html',
        controller: UserCtrl
      }).
      when('/controlpanel', {
        templateUrl: 'partials/controlpanel.html',
        controller: ControlCtrl
      }).
      when('/modules/', {
        templateUrl: 'partials/modules.html',
        controller: ModuleCtrl
      }).
      when('/resources/', {
        templateUrl: 'partials/resources.html',
        controller: ResourceCtrl
      }).
      when('/privileges/', {
        templateUrl: 'partials/privileges.html',
        controller: PrivilegeCtrl
      }).
      when('/roles/', {
        templateUrl: 'partials/roles.html',
        controller: RoleCtrl
      }).
      when('/userroles/', {
        templateUrl: 'partials/userroles.html',
        controller: UserRoleCtrl
      }).
      otherwise({
        redirectTo: '/'
      });
    $locationProvider.html5Mode(true);
  }]);

这是我的controllers.js:

'use strict';

function IndexCtrl() {
    IndexCtrl.$inject = [];
}

function UserCtrl() {
    UserCtrl.$inject = [];
}

function ControlCtrl() {
    ControlCtrl.$inject = [];
}

function ModuleCtrl() {
    ModuleCtrl.$inject = [];
}

function ResourceCtrl() {
    ResourceCtrl.$inject = [];
}

function PrivilegeCtrl() {
    PrivilegeCtrl.$inject = [];
}

function RoleCtrl() {
    RoleCtrl.$inject = [];
}

function UserRoleCtrl() {
    UserRoleCtrl.$inject = [];
}

我已将ng-appand添加ng-view到我的索引文件中,但是当我在浏览器中加载它时,它一直重定向到http://localhost/而不是http://localhost/ray-auth/我在这里做错了什么?有人可以帮忙吗?

4

2 回答 2

1

尝试这个 :

angular.module('RayAuth', ['RayAuth.filters', 'RayAuth.services', 'RayAuth.directives']).
  config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.
      when('/', {
        templateUrl: 'partials/index.html',
        controller: IndexCtrl
      }).
      when('/users', {
        templateUrl: 'partials/users.html',
        controller: UserCtrl
      }).
      when('/controlpanel', {
        templateUrl: 'partials/controlpanel.html',
        controller: ControlCtrl
      }).
      when('/modules/', {
        templateUrl: 'partials/modules.html',
        controller: ModuleCtrl
      }).
      when('/resources/', {
        templateUrl: 'partials/resources.html',
        controller: ResourceCtrl
      }).
      when('/privileges/', {
        templateUrl: 'partials/privileges.html',
        controller: PrivilegeCtrl
      }).
      when('/roles/', {
        templateUrl: 'partials/roles.html',
        controller: RoleCtrl
      }).
      when('/userroles/', {
        templateUrl: 'partials/userroles.html',
        controller: UserRoleCtrl
      });
    $locationProvider.html5Mode(true);
  }]);

我已经删除了 else ,它实际上告诉它在所有其他情况下重定向到 '/' 。

另外,在旁注中,

function PrivilegeCtrl() {

}
PrivilegeCtrl.$inject = [];

如上所示,注入应该在控制器外部完成。

于 2012-06-21T11:23:28.920 回答
0

也许

<!doctype html>
<html lang="en" ng-app="RayAuth">
于 2013-04-07T15:06:19.413 回答