在过滤器和服务之间进行选择

时间:2013-09-09 00:46:49

标签: angularjs

我有一个函数可以将从REST服务接收的对象数组整理成组,同时还应用仅在客户端上提供的用户首选项设置的排序。

目前,这种排序规则是在调用REST服务的服务中处理的,但我发现需要将此功能与实际的$ HTTP调用分开,因为用户可以在不重新发出$ HTTP调用的情况下在不同的整理指令之间切换。

由于这不是一个简单的重新排序,是否适合将此整理过程创建为另一个服务或过滤器?

1 个答案:

答案 0 :(得分:1)

过滤器是UI构造,其中Services不是。如果您发现自己正在拨打$http电话,那么他们应该在服务(或工厂)中。如果您发现自己想要创建一个也负责收集数据的过滤器,我会这样做:

  1. 创建一个负责获取数据的服务
  2. 将服务注入控制器并通过控制器公开服务数据
  3. 将数据从控制器绑定到过滤器参数
  4. 这样做可以保持正确的关注点分离。