Javascript $stateParams对象的属性在我的服务中未定义

Javascript $stateParams对象的属性在我的服务中未定义,javascript,angularjs,Javascript,Angularjs,我试图在服务中获取$stateParams对象的属性,当我console.log($stateParams)时,它显示包含值的属性'playerId',但当我console.log($stateParams.playerId)时,它显示未定义的: app.factory('playerService', ['$http', '$state','$stateParams', function ($http, $state, $stateParams) {

我试图在服务中获取$stateParams对象的属性,当我
console.log($stateParams)
时,它显示包含值的属性'playerId',但当我
console.log($stateParams.playerId)
时,它显示未定义的:

    app.factory('playerService', ['$http', '$state','$stateParams', 
        function ($http, $state, $stateParams) {

            var playerId = $stateParams.playerId;

            console.log($stateParams);  // logs - object{ playerId:"555"} 
            console.log($stateParams.playerId); // logs - undefined
        }
这是我的状态:

    $stateProvider
        .state('headless' , {
          abstract: true,
            url: "/:playerId",
            resolve: {
              liveData: function (playerService, $stateParams) {
                var live = playerService.getLive($stateParams.playerId); 
                return live;
              }
            },
            data: {
              headless: true
            }
       }.state('player.live', {
            url: "^/live/:playerId",
            templateUrl: "views/main_live_video_chat.html"
       })

你知道发生了什么吗?

也许你有输入错误,这段代码和你在项目中的代码一样,你复制粘贴了吗?我想你正在试图在状态准备好之前访问
$stateParams
。。。问题是,为什么在工厂中使用
$stateParams
?如果你能更详细地描述一下你的问题或者你想做什么,我可以帮你找到另一种解决方法。。。不管怎样,看看这篇文章你是对的,小熊。当我将声明移动到服务中的一个函数中时,它工作得很好,谢谢!