首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨整个应用程序共享角资源实例

跨整个应用程序共享角资源实例
EN

Stack Overflow用户
提问于 2014-08-22 23:30:33
回答 2查看 79关注 0票数 0

我有一个简单的类别资源,带有一个缓存的query操作:

代码语言:javascript
运行
复制
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,但得到了同样的结果。

EN

回答 2

Stack Overflow用户

发布于 2015-03-18 04:48:37

我想你要找的是$watch(watchExpression, listener, [objectEquality]);

它在watchExpression更改时注册要执行的侦听器回调。

这是角度文献

票数 0
EN

Stack Overflow用户

发布于 2015-03-18 07:42:19

带有角度支持的JSData工作非常出色,并且在所有查询之间共享实例-- http://www.js-data.io/ + http://www.js-data.io/v1.5.8/docs/js-data-angular

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25456953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档