Angularjs 如何在angular中使用$resource返回示例数据?
假设我有一个带资源的角度服务:Angularjs 如何在angular中使用$resource返回示例数据?,angularjs,Angularjs,假设我有一个带资源的角度服务: var res = $resource('/myurl/:index', {index: '@index'}) 是否有一种方法可以让我定义任意路径,以便在我的服务中调用: $res.query() 我可以获得一些“[1,2,3]”的硬编码输出,而不需要资源实际调用服务器,也不需要服务器具有支持query()的函数。$resource在封面下调用$http,因此您应该能够使用$httpBackend来模拟响应。在这方面有丰富的信息。您可以使用JSON文件作为示例数
var res = $resource('/myurl/:index', {index: '@index'})
是否有一种方法可以让我定义任意路径,以便在我的服务中调用:
$res.query()
我可以获得一些“[1,2,3]”的硬编码输出,而不需要资源实际调用服务器,也不需要服务器具有支持query()的函数。
$resource
在封面下调用$http
,因此您应该能够使用$httpBackend
来模拟响应。在这方面有丰富的信息。您可以使用JSON文件作为示例数据。我认为您的做法有点错误$resource
是一个工厂,用于创建服务,您可以在其中为给定的API端点指定url和其他参数。如果您有一个假的或测试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]
});
如果希望能够使用资源对象的$PROMITE.then,则不起作用!