我的状态定义如此
.state('login', {
url: '/login',
controller: 'LoginController',
templateUrl: 'templates/login.tpl.html',
data: {
loginState: true
},
resolve: {
saml_auth: function ($cookies) {
var saml_auth = $cookies.get('saml_auth');
console.log(saml_auth) // returns the string value
return {claim: saml_auth};
}
}
在控制器中,我得到一个空对象,即使在对象中也没有属性
angular.module('swSelfService')
.controller('LoginController', LoginController);
LoginController.$inject = [
'$scope',
'SWSessionService',
'$state',
'$stateParams',
'saml_auth',
];
function LoginController($scope, SWSessionService, $state, saml_auth) {
console.log(saml_auth) // {}
}
答案 0 :(得分:0)
您错过了添加$stateParams
注射的第4个参数。您将saml_auth
放在控制器构造函数中的错误位置,它应该出现在第5位。
LoginController.$inject = [
'$scope',
'SWSessionService',
'$state',
'$stateParams',
'saml_auth',
];
function LoginController($scope, SWSessionService, $state, $stateParams, saml_auth) {
console.log(saml_auth) // {}
}