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,则不起作用!