Elasticsearch и AngularJS

0

Попытка изучить Elasticsearch и AngularJS, сделав простое приложение для поиска.

Я знаю, что наилучшая практика с Angular заключается в модуляции всего кода, но...

Я прошел учебник и получил пример кода, и он выглядит хорошо, его просто не разбивают на модули, он выглядит так:

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) {

и после этого много кода.

Стоит ли пытаться разбить его на модули (контроллеры, службы, фильтры и app.js с настройками и маршрутами?

Любые рекомендации, рекомендации заслуживают высокой оценки.

  • 1
    это зависит от того, насколько сложно это становится :). Как только вы начинаете путаться в контроллере, я начинаю думать о рефакторинге в сервисах
  • 0
    Вы также должны проверить Elastic UI .
Показать ещё 3 комментария
Теги:
elasticsearch

1 ответ

0
Лучший ответ

Согласно передовым методам и документации AngularJs, контроллеры не должны иметь вашу бизнес-логику. Я думаю, что это лучше для модульного вашего приложения.

Как вы знаете:

Используйте контроллеры для:

  • Задайте начальное состояние объекта $ scope.
  • Добавить поведение объекта $ scope.

Не используйте контроллеры для:

  • Манипулирование DOM - Контроллеры должны содержать только бизнес-логику. Помещение любой логики представления в контроллеры значительно влияет на ее тестируемость. Угловой имеет привязку данных для большинства случаев и директивы для инкапсуляции ручных манипуляций с DOM.
  • Ввод формата - вместо этого используйте элементы управления угловой формой.
  • Выход фильтра. Вместо этого используйте угловые фильтры.
  • Копировать код или состояние через контроллеры. Вместо этого используйте угловые сервисы.
  • Управление жизненным циклом другого компонента
  • 0
    Что касается комментариев выше, собираюсь модульный, спасибо за совет!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню