/ / Elasticsearch i AngularJS - angularjs, elasticsearch

Elasticsearch i AngularJS - angularjs, elasticsearch

Próbuję nauczyć się Elasticsearch i AngularJS, tworząc prostą aplikację do wyszukiwania.

Wiem, że najlepszą praktyką w Angular jest modularyzacja całego kodu, ale ...

Przeszedłem przez samouczek i mam przykładowy kod i wygląda dobrze, po prostu nie jest podzielony na moduły, wygląda to tak:

var searchApp = angular.module("searchApp", ["elasticsearch", "ngSanitize", "ui.bootstrap"]);

searchApp.controller("typeahead", ["ui.bootstrap", function(ui.bootstrap){
//add $http get
}]);//added

searchApp.controller("SearchResultsList", ["$scope", "searchService", "filterService", "$sce", function($scope, searchService, filterService, $sce) {

po tym cały kod.

Czy warto spróbować rozbić go na moduły (kontrolery, usługi, filtry i app.js z konfiguracją i trasami?

Wszelkie porady, zalecenia są bardzo mile widziane.

Odpowiedzi:

0 dla odpowiedzi № 1

Zgodnie z najlepszymi praktykami i dokumentacją AngularJs, kontrolerzy nie powinni mieć logiki biznesowej. Myślę, że lepiej jest zmodularyzować aplikację.

Jak wiesz:

Użyj kontrolerów, aby:

  • Ustaw stan początkowy obiektu $ scope.
  • Dodaj zachowanie do obiektu $ scope.

Nie używaj kontrolerów do:

  • Manipuluj DOM - Kontrolery powinny zawierać tylkologika biznesowa. Umieszczenie dowolnej logiki prezentacji w kontrolerach znacząco wpływa na jej testowalność. Angular ma powiązanie danych dla większości przypadków i dyrektyw w celu zamknięcia ręcznej manipulacji DOM.
  • Formatuj dane wejściowe - zamiast tego użyj formantów kątowych.
  • Wyjście filtra - zamiast tego użyj filtrów kątowych.
  • Udostępnij kod lub stan między kontrolerami - zamiast tego użyj usług kątowych.
  • Zarządzaj cyklem życia innego komponentu