Angularjs 无法使用angular ui路由器访问控制器

Angularjs 无法使用angular ui路由器访问控制器,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我在应用程序中使用Angular ui路由器进行路由,但我遇到了一个特殊问题,因为我无法访问ProfileCtrl。我在我的控制台中根本没有收到任何错误,这让我觉得更奇怪。我可以访问除ProfileCtrl之外的所有其他控制器。我不知道如何调试这个问题,但我的路由似乎无法“读取”ProfileCtrl中的任何内容,好像我删除了所有内容,但仍然没有显示错误。这是到目前为止我的代码 angular.module('Chat', ['ngResource', 'ngMessages', 'ui.rou

我在应用程序中使用Angular ui路由器进行路由,但我遇到了一个特殊问题,因为我无法访问ProfileCtrl。我在我的控制台中根本没有收到任何错误,这让我觉得更奇怪。我可以访问除ProfileCtrl之外的所有其他控制器。我不知道如何调试这个问题,但我的路由似乎无法“读取”ProfileCtrl中的任何内容,好像我删除了所有内容,但仍然没有显示错误。这是到目前为止我的代码

angular.module('Chat', ['ngResource', 'ngMessages', 'ui.router', 'ngAnimate', 'ngSanitize', 'satellizer', 'mgcrea.ngStrap', 'angularFileUpload'])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {     
        $stateProvider
            .state('home', {
                url: '/',
                templateUrl: 'views/home.html',
                controller: 'MainCtrl'
            })
            .state('login', {
                url: '/login',
                templateUrl: 'views/login.html',
                controller: 'LoginCtrl'
            })
            .state('profile', {
                url: '/profile',
                templateUrl: 'views/profile.html',
                controller: 'ProfileCtrl',
                resolve: {
                    authenticated: function($q, $location, $auth) {
                        var deferred = $q.defer();

                        if (!$auth.isAuthenticated()) {
                            $location.path('/login');
                        } else {
                            deferred.resolve();
                        }

                        return deferred.promise;
                    }
                }
            });

        $urlRouterProvider.otherwise('/');
 }]);
//控制器

angular.module('Chat')
.controller('ProfileCtrl', ['$scope', function($scope) {

    console.log("test");


}]);

您的
.state
正在使用
resolve
选项。根据用户界面:

resolve是一个可选的依赖关系映射,应该将其注入控制器

如果这些依赖项中有任何一个是承诺,那么在实例化控制器并触发$stateChangeSuccess事件之前,它们将被解析并转换为一个值

但是,您的控制器不接受值
authenticated
作为依赖项。尝试更改您的签名

.controller('ProfileCtrl',['$scope','authenticated'函数($scope,authenticated){


还要验证您的依赖项是否实际返回了值;现在,它看起来没有返回任何内容。

嘿,谢谢您的回答。我已经尝试注入依赖项,并检查了它是否返回了值,但我仍然无法记录。我甚至删除了“解析”选项,但什么也没有。我仍然想知道为什么是n我无法访问控制器,无法找到调试方法。