Zamiast publikować w Angular na liście dyskusyjnej, myślę, że to może być bardziej pytanie javascript. Mam nadzieję, że społeczność SO może również dać szybszą odpowiedź.AngularJS - tworzenie obiektu usługi
Próbuję enkapsulować dane w usłudze i wstrzykiwać do kontrolera.
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'];
zgłasza wyjątek
TypeError: Object #<Object> has no method 'query'
$scope.resource = Player.Player.resource.get({_id:$routeParams._id});
rzuca również error
TypeError: Object #<Object> has no method 'query'
poniższych prac.
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'];
moim zamiarem jest dodanie większej ilości danych i metody Player
. Więc jak mogę zrobić pierwszą (obiektową) działa!
Interesujące. Czy 'Player: $ resource ('/ api/Player /: _ id', {})' poprawny javascript? –
Niezwykle mi przykro, redagował tymczasem. działa, jeśli przypiszę do zmiennej i uzyskuję do niej dostęp, ale nie, jeśli jest ona przypisana do obiektu. dzięki – bsr
@GraceShao 'Player: $ resource ('/ api/Player /: _ id', {})' tak, jeśli jest częścią definicji członka ... – jcolebrand