我有一个搜索结果页面。搜索结果页面目前基本上是一个大型控制器。我有用于过滤器的代码,但是这不是一个angularjs过滤器,因为我正在进行另一个搜索到后端,我不只是返回一个不同的数组集。我想保留筛选器与搜索结果控制器分开,因为它已经很大了。我的问题是:我是否让它成为另一个控制器并将搜索结果广播更改为searchResults控制器,还是将它变为服务或者它实际上是一个过滤器?搜索结果过滤器 - 控制器或服务或过滤器?
我目前认为separete控制器更有意义,因为我仍然必须使用范围,但有了服务,我只能使用$ rootScope。
总的来说,知道什么需要过滤器和控制器会很好。
目前它是一项服务,但我不得不使用很多$ rootScope,我不喜欢它。将过滤器和控制器连接到该控制器是一种更好的方式来做事吗? – Malcr001
您通常不需要使用$ rootScope作为服务。通常你将模块传递给控制器并以这种方式使用它。就过滤器而言,很难说如果不知道你在过滤和反对什么。角度内置过滤器在缩小基于值的结果方面做得非常好。但是如果你做更多变革的东西,你需要自定义过滤器。 – Sharondio
似乎angularjs过滤器只有在您完成所有需要做过滤的完整结果集时才有用,但事实并非如此。我的过滤器列表包含大量的过滤器选项,基本上有各种酒店标记各种设施等,但大部分工作是在后端完成。我在想,如果我不得不使用大量$ rootScope(我当时是这样),我应该让它成为一个控制器。 – Malcr001