我有一个简单的类别资源,带有一个缓存的query
操作:
app.factory 'Category', ($resource) ->
$resource "/categories/:id", {id: '@id'}, {
query: { cache: true, isArray: true, method: 'GET' }
}
我有多个控制器/指令,它们调用Category.query()
来获取所有类别。请求被缓存,所以它不会执行多个HTTP请求,这很好,但是每次angular-resource
都会返回不同的类别实例。如果我在指令中编辑一个类别,它不会更新其余的类别,只是因为它不是同一个实例。
我的问题:在使用angular-resource
**?*时,在所有调用方之间共享查询的所有实例的推荐方法是什么?
我目前的解决方案很难看:我重写查询方法,只调用请求一次,将结果缓存在变量中,并将所有回调保存在数组中,然后在请求完成后立即调用它们。很丑但很管用。
代码要点:https://gist.github.com/elado/a6f5f1f8edade63a3b9d
我试过angular-cached-resource
,但得到了同样的结果。
发布于 2015-03-18 04:48:37
发布于 2015-03-18 07:42:19
带有角度支持的JSData工作非常出色,并且在所有查询之间共享实例-- http://www.js-data.io/ + http://www.js-data.io/v1.5.8/docs/js-data-angular
https://stackoverflow.com/questions/25456953
复制相似问题