2013-10-11 3 views
1

Предположит, у меня есть угловое обслуживание с ресурсом:

var res = $resource('/myurl/:index', {index: '@index'}) 

Есть ли способ для меня, чтобы сделать это таким образом, что я могу определить arbirary пути таким образом, что, когда в моих службах я называю:

$ Реза .query()

Я могу получить некоторый жесткий код вывода «[1,2,3]», не имея ресурса, фактически вызывающего сервер, или ожидая, что сервер будет иметь функцию, которая поддерживает запрос()?

ответ

1

Я думаю, вы приближаетесь к этому немного неправильно. $resource - завод для создания сервисов, в которых вы указываете URL-адрес и другие параметры для данной конечной точки API. Если у вас есть фиктивная или тестовая конечная точка API, просто создайте поддельную службу, которая возвращает данные жесткого кодирования.

Вот пример:

.factory('TestDataResource', function() { 

    return { 
     query: function() { 

      // Return Hard-coded data 
      return [1, 2, 3]; 
     } 
    } 
}); 

И тогда вы можете использовать его в контроллерах или там, где, например:

.controller('MyController', function($scope, TestDataResource) { 

    $scope.data = TestDataResource.query(); 
    // $scope.data should contain [1, 2, 3] 
}); 
+0

Не работает, если вы хотите, чтобы иметь возможность использовать $ обещание . then ресурсного объекта! –

0

звонки $http под обложки, чтобы вы могли использовать $httpBackend, чтобы высмеять ответы. This page обладает богатством информации об этом.

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