2013-03-17 79 views
1

我对角度服务的理解是,它们用于访问外部数据源和其他内容。Angular Service Factory Factory

所以,让我们假设我有,一个服务访问饲料,这与ATOM解析交易等

现在,让我们假设一个控制器需要访问一些饲料。

有没有办法让我参数化服务,因为它们被实例化?由于服务是单身人士,我需要服务工厂吗?我是否应该每次都使用相同的服务并传递特定提要的详细信息?如果我需要对同一个Feed进行多个呼叫并希望专用对象进行交谈,该怎么办? (认为​​websockets而不是feed)。

是否还有另一种方法可以解决这个问题?

+0

这可能有助于http://stackoverflow.com/questions/15313205/sharing-data-between-angularjs-services/15316971#15316971 – charlietfl 2013-03-17 18:49:19

+0

你的应用程序在哪里获得可能的提要集?这是一个已知的/固定的集合,还是动态的 - 即用户可以在运行时提供Feed详细信息? – 2013-03-18 16:51:54

+0

在我的情况下,它是固定的,但知道这两种情况的答案会很有趣。 – 2013-03-18 17:33:34

回答

1

有没有办法让我参数化服务,因为他们被实例化?

不是。您可以将服务注入服务–,例如,其他服务–,但我认为这不会对您有所帮助。

由于服务是单身人士,我是否需要服务工厂?

我不知道你会怎么写,但我认为这不会对此有所帮助。

我是否应该使用相同的服务并每次传递特定提要的详细信息?

嗯,我问的意见,如果你正在处理一组固定的饲料,我想他们硬编码到服务(或者也许有服务从服务器上的配置文件获取它们),并允许控制器通过名称或某个ID请求它们。

如果您需要更动态的东西,那么我认为您必须将提要详细信息传递给服务。

在这两种情况下,我认为一个“atomFeed”服务就足够了。

如果我需要对同一个feed进行多个调用并且想要一个专用对象进行通话,该怎么办?

我可能仍然会使用一项服务。虽然我不确定这个问题在哪里。

+0

我认为你是对的。使用一项服务完成所有提要的交谈可能是前进的方向。谢谢。 – 2013-03-19 11:29:02