2015-04-05 45 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

如果你有商業邏輯有關的標籤中的元素,那麼它還是很有意義的所有代碼的該控制器內。將控制器重命名爲更適合您的需求可能更有意義。