AngularJS - la création d'un objet de service

Au lieu de poster dans Angulaire de la liste de diffusion, je pense que cela peut être plus de javascript question. Espérons que le SI de la communauté peuvent aussi donner de réponse plus rapide.

Je suis en train d'encapsuler les données d'un service et d'injecter dans le contrôleur.

angular.module('myApp.services', ['ngResource']).
    factory('Player', function($resource){
        var Player ;
        Player = {
            resource: $resource('/api/Player/:_id', {} )
        };
        return Player
});


function PlayerDetailCtrl(Player, $routeParams, $scope) {
    $scope.resource = Player.resource.get({_id:$routeParams._id});
}
PlayerDetailCtrl.$inject = ['Player', '$routeParams', '$scope'];

Il déclenche une exception

TypeError: Object #<Object> has no method 'query'

$scope.resource = Player.Player.resource.get({_id:$routeParams._id}); également déclenche une erreur

TypeError: Object #<Object> has no method 'query'

le ci-dessous fonctionne.

angular.module('myApp.services', ['ngResource']).
    factory('Player', function($resource){
        var Player ;
        Player= $resource('/api/Player/:_id', {} )
        return Player
});


function PlayerDetailCtrl(Player, $routeParams, $scope) {
    $scope.resource = Player.Player.get({_id:$routeParams._id});
}
PlayerDetailCtrl.$inject = ['Player', '$routeParams', '$scope'];

mon intention est d'ajouter plus de données et de la méthode de Player. Alors, comment puis-je faire le premier (forme d'objet) fonctionne!

Intéressant. Est Player: $resource('/api/Player/:_id', {} ) javascript valide?
extrêmement désolé, édition entre-temps. il fonctionne si je l'assigner à une variable et l'accès à travers elle, mais ne pas s'attribuer à l'intérieur d'un objet. merci
Player: $resource('/api/Player/:_id', {} ) oui si c'est une partie d'un membre de la définition ...

OriginalL'auteur bsr | 2012-06-28