无法将角度分辨率值传递到控制器

时间:2017-03-27 00:34:03

标签: javascript angularjs

如何将resolve validToken值传递给控制器​​?

配置:

.config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/recover/:token', {
    templateUrl: 'recover.html',
    controller: 'recoverCtrl',
    resolve: {
        validToken : function(){
            return "INVALID TOKEN"
        }
    }
  });
}])

控制器:

.controller('recoverCtrl', ['$location','$scope','$http', '$routeParams', '$rootScope',
    function($location,$scope,$http,$routeParams,$rootScope,validToken) {
       console.log(validToken);
       // Rest of controller code.
    }
]);

我想在不删除[]的情况下执行此操作,以便最终可以对代码进行修改。下面的示例正如我所期望的那样工作,所以我知道我的所有代码都有效,我只是不确定我应该添加到上面的代码中以使其功能类似。

.controller('recoverCtrl', function($location,$scope,$http,$routeParams,$rootScope,validToken) {
    console.log(validToken);
    //Other code
});

1 个答案:

答案 0 :(得分:0)

感谢Etsus。

我只需要在注入时将对象键添加为字符串,并且能够确定它是解析密钥

.controller('recoverCtrl', ['$location','$scope','$http', '$routeParams', '$rootScope', 'validToken', function ($location, $scope, $http, $routeParams,  rootScope, validToken) {
    console.log(validToken);
}]);