2014-07-18 95 views
0

我有一个分页表,并通过$资源调用加载表的行。如果我使用angularJS $资源缓存,它可以工作,但这里有问题:

更新单元格时,如何刷新缓存结果?当一行被删除时相同。

任何帮助将被apreciatted。谢谢。

回答

0

最简单的方法是删除缓存的请求。喜欢的东西:

$httpDefaultCache = $cacheFactory.get('$http'); 
$httpDefaultCache.remove("http://localhost/link-to-my-resource-request"); 

我没有测试它,但它应该工作。另外请记住,您需要包含查询参数(如果提供)的确切URL请求。

+0

这是一些问题:例如,如果我通过名称对行进行排序,然后使用ID 1更改行,然后回到没有排序的行,可能我会转到已缓存的状态,但ID为1的行将不会更新,因为url不会相同。 (用户和用户?orderBy =“name”) – Ulrira

+0

我正在考虑通过ID来缓存每一行...虽然可能不是最好的解决方案。 – Ulrira

+0

你可以删除所有可能的URL,因为它看起来像你会知道所有这些。或者您可以创建自定义缓存并对其进行更多控制。我不会在每个项目上自行缓存我是服务器和客户端之间一致性的忠实粉丝,我认为只需要向服务器发送另一个请求就更安全。另外我知道Angular有一些Ordering过滤器,所以你只能有一个请求到服务器并在客户端上订购。 –