在角度.js路线上遇到问题

Having trouble with Angular.js routes

本文关键字:遇到 问题 js      更新时间:2023-09-26

下面是我的应用程序.js和控制器.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);
  }]);

这是我的控制器.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-appng-view添加到我的索引文件中,但是当我在浏览器中加载它时,它会一直重定向到http://localhost/而不是http://localhost/ray-auth/我在这里做错了什么? 有人可以帮忙吗?

试试这个:

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);
  }]);

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

另外,顺便提一下,

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

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

也许

<!doctype html>
<html lang="en" ng-app="RayAuth">