2015-04-05 46 views
0

我有一个基本的角度应用程序,用户可以发布Adverts,现在我正在研究如何搜索/过滤广告。我目前使用像这样的过滤器..构建一个Angular应用程序需要帮助

<a data-ng-repeat="advert in filtered = (adverts | filter:filterBySearch) | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit" data-ng-href="#!/adverts/{{advert._id}}" class="list-group-item">

我在那里创建了自己的fiter,filterBySearch

我也有滤波的范围由滑块的价格范围,我都这与分页工作。

我担心的是,因为我已经在网页上,以使用为AdvertsController逻辑Advert顶部声明<section data-ng-controller="AdvertsController">,我现在发现我把逻辑在这里,分页,范围滑尺,过滤逻辑等。我想知道如何最好地把这个逻辑分解成他们自己的控制器或任何它需要的东西。

回答

1

控制器不应该在自己的这种复杂的业务逻辑中拥有。它必须用于绑定示波器元素,处理事件,更新状态等。我建议您在专用angular service中拉动分页,范围滑块,过滤逻辑等,并将其注入到AdvertsController中。这样你也可以在你需要的任何其他视图/控制器中使用它们。

了解更多关于模块化在AngularJS here

0

如果你有商业逻辑有关的标签中的元素,那么它还是很有意义的所有代码的该控制器内。将控制器重命名为更适合您的需求可能更有意义。