2015-05-01 2 views
0

Я пытаюсь использовать Angular и хотел бы играть с $ resource. Для меня непонятно, как создается элемент ресурса.Угловой: как получить доступ к ресурсам?

Например:

var service = angular.module("apiService", ["ngResource"]).factory('User', 
    ['$resource', 
     function($resource){ 
     return $resource('/users/:userId', {userId:'@id'}); 
    }] 
); 

Я ожидаю, чтобы иметь доступ к объекту 'Пользователь', как это:

User.query(); 

Но Пользователь не определен. Существует ли конкретное пространство имен, в котором этот объект определен?

Каким будет минимальный пробег, чтобы получить эту работу? (не загружаются угловые.js и angular-resource.js)

ответ

1

Вам просто нужно выполнить функцию успеха в запросе.

.controller('mainCtrl', function($scope, User){ 
    User.query(function(user){ 
     $scope.user = user; //call when return data 
    }); 
}) 

Или вы могли бы также это расщеплением $ посыла объект запроса

.controller('mainCtrl', function($scope, User){ 
    User.query().$promise.then(function(user){ 
     $scope.user = user; //call when return data 
    }); 
}) 
+0

Проблема заключается в том, что пользователь не определен на всех! – tomsoft

+0

@tomsoft вы ввели услугу в контроллере и внутри основного модуля вы ввели модуль apiService –

+0

, это, наверное, точка. Как мне это сделать? (Я довольно новичок в Angular и просто запускаю fe-учебники) – tomsoft

1

Может быть, вы забыли включить «apiService» или пользователя в контроллере? Это работает:

angular.module("apiService", ["ngResource"]).factory('User', 
    ['$resource', 
     function($resource){ 
     return $resource('/users/:userId', {userId:'@id'}); 
    }] 
); 

angular.module("testApp", ['apiService']).controller('Test', function($scope, User) { 
    User.query(); 
}); 

Fiddle для исх: http://jsfiddle.net/thepeak/2sscyck9/

Смежные вопросы