【发布时间】:2015-07-08 08:18:02
【问题描述】:
您好,刚接触 Angular,我在工厂中使用 $resource 时很难理解如何处理数据。我正在尝试从工厂中的 $http 请求转移到 $resources。
首先我有(简化代码):
.factory('MetadataService', function($http) {
$http({
method: 'OPTIONS',
url: 'http://myurl'
}).success(function(data) {
customized_data = do_some_complex_handling_on_data(data)
callback(customized_data);
});
});
当我尝试在我的工厂中使用 $resource 时,我似乎必须在我的控制器中调用 do_some_complex_handling_on_data() 方法:
.factory('MetadataService', function($resource) {
return($resource('http://myurl', {}, {
metadata: {method: 'OPTIONS'}
}));
});
# controller:
var metadata = do_some_complex_handling_on_data(MetadataService.metadata());
由于我将在我的应用程序的不同部分的许多控制器中使用工厂(这就是我首先制作工厂的原因),我希望我的工厂在需要时返回数据。并且不必在工厂返回它之后自定义数据。
问题:如何让我的工厂调用do_some_complex_handling_on_data()函数而不是控制器?
【问题讨论】:
标签: angularjs angular-resource