在我的Ionic应用程序中,使用ngResource,我在js/services.js文件中定义了工厂如下:
angular.module('story.services', ['ngResource'])
.factory('StatsService', function($resource) {
return $resource('/api/v1/total_view_count', {}, {'query': {method: 'GET', isArray: false}});
});
...the在我的controllers.js中我有以下调用:
var testCallback;
var request= StatsService.query(function(response) {
console.log("RESPONSE: " + response.total_views );
testCallback = response.total_views; //just testing if this works too. it doesn't.
});
console.log("RESULTS: " + request.total_views );
console.log("RESULTS: " + testCallback );
现在,函数(响应)回调中的响应显示了response.total_views...however的正确输出,除了输出“结果”(它不是)之外。“request.total_views”和testCallback都只显示“未定义”。
我对离子和棱角很陌生,所以任何帮助都是非常感谢的。谢谢!
发布于 2016-01-18 18:20:06
通常,您不需要为$resource使用回调。在主计长:
$scope.result= StatsService.query();
在html中:
<div ng-if="result.$resolved">
{{result.total_views}}
</div>
如果您想执行一些javascript,那么使用回调:
var result1= StatsService.query(function() {
// result1 already resolved here
});
还请注意,您的查询方法与默认的$resource.get相同,因此您只需删除它并使用get()。
https://stackoverflow.com/questions/34860891
复制相似问题