如何让$ resource以角度返回样本数据?

时间:2013-10-11 00:20:19

标签: angularjs

假设我有资源的角度服务:

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

有没有办法让我这样做,以便我可以定义arbirary路径,以便在我的服务中,我打电话:

$ res.query()

我可以得到一些“[1,2,3]”的硬编码输出,而不会让资源实际调用服务器或期望服务器有一个支持查询的函数()?

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有关此的信息非常丰富。