Javascript 将$scope数据传递给$stateProvider.state解析

Javascript 将$scope数据传递给$stateProvider.state解析,javascript,ajax,angularjs,angularjs-scope,angularjs-routing,Javascript,Ajax,Angularjs,Angularjs Scope,Angularjs Routing,我有一个父状态app.teams.show,它在$scope.data.team中存储“team”。在控制器中,我可以访问$scope.data.team,因此可以访问$scope.data.team.organization\u id 如何访问解析中的$scope.data.team.organization\u id .state('app.teams.show.games.add', { url: '/add', templateUrl: 'templates/schedu

我有一个父状态app.teams.show,它在$scope.data.team中存储“team”。在控制器中,我可以访问$scope.data.team,因此可以访问$scope.data.team.organization\u id

如何访问解析中的$scope.data.team.organization\u id

.state('app.teams.show.games.add', {
    url: '/add',
    templateUrl: 'templates/schedule/games/add.html',
    controller: 'GamesAddCtrl',
    resolve:{
        org: function($http, $scope){
            return $http.get('http://api.example.com/orgs/'+$scope.data.team.organization_id, {cache: true});
        }
    }
})

我不认为你试图实现的是正确的解决方案。
在您的情况下,我可能只是将
$scope.data.team.organization\u id
作为参数传递给您的状态,并在解析块中使用它

    .state('app.teams.show.games.add', {
        url: '/add/:orgId', // or /add?orgId or :orgId/add
        templateUrl: 'templates/schedule/games/add.html',
        controller: 'GamesAddCtrl',
        resolve:{
            org: function($http, $stateParams){
                return $http.get('http://api.example.com/orgs/'+$stateParams.orgId, {cache: true});
            }
        }

})

你不能。看起来您需要重新思考您的体系结构。更具体地说,应用程序中的团队概念似乎是一种应该由服务公开的资源,而不仅仅是一个控制器范围内的变量。有什么建议吗?这似乎不是不可能的事情。我使用$stateParams来获得团队,这很好,这取决于第一个团队返回的一些信息。如果我把它移到控制器中而不是这里,它会工作,这是一个合理的解决方案吗?