假设我有资源的角度服务:
var res = $resource('/myurl/:index', {index: '@index'})
有没有办法让我这样做,以便我可以定义arbirary路径,以便在我的服务中,我打电话:
$ res.query()
我可以得到一些“[1,2,3]”的硬编码输出,而不会让资源实际调用服务器或期望服务器有一个支持查询的函数()?
答案 0 :(得分:1)
您可以将JSON文件用于样本数据。
答案 1 :(得分:1)
我认为你接近这个有点不对劲。 $resource
是工厂,用于创建服务,您可以在其中指定给定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]
});
答案 2 :(得分:0)
$resource
调用了$http
,因此您应该可以使用$httpBackend
来模拟回复。 This page有关此的信息非常丰富。