2013-10-11 61 views
1

假設我有該資源的角度服務:

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

有我讓它這樣我可以定義arbirary路徑的方式,例如,當我的服務中我打電話:

$水庫.query()

我可以得到一些硬編碼的輸出「[1,2,3]」,而不需要資源實際調用服務器或期望服務器具有支持query()的函數嗎?

回答

1

我認爲你正在接近這有點不對。 $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] 
}); 
+0

不一樣,如果你希望能夠使用$承諾工作那麼資源對象! –

0

$resource撥打電話$http,因此您應該可以使用$httpBackend來模擬回覆。 This page有關於此的信息財富。