【发布时间】:2015-05-21 18:17:19
【问题描述】:
我是 AngularJs 的新手。我有一种情况,我需要为多个控制器获取相同的数据。所以,我开始知道为此使用 angularJs 服务并从控制器调用该服务。
现在,当我从两个控制器调用此服务时,该服务会被命中两次。我已经在服务中缓存了数据,但是服务仍然向服务器生成了两个ajax请求。
如何处理这种情况?
【问题讨论】:
-
所以....您正在从两个不同的位置调用服务方法,并想知道为什么它被调用了两次并且对它为什么运行两次感到困惑。这是正确的吗?
-
标记为低质量,这不是 angularJS 特定的问题,而是软件设计的一般问题。
-
您可以从服务和控制器发布您的代码吗? (制作一个 jsfiddle,仅包含相关行)如果您只是担心
$http被调用两次,那么这可能是可以解决的......另一种可能的方法可能是使用promise chaining -
我可能会误解,但我相信 OP 理解服务是单例类型,已设置缓存,但不明白为什么服务器会被两次调用命中两次 - 因为@Shehryar 也许您可以发布您的服务和控制器?
标签: angularjs controller