@microf

Как сделать модуль в Angular.js?

В дополнение к моему предыдущему вопросу

Итак, есть сервис, который вытаскивает данные с сообщениями, с определенными данными (прочитанные -satus1, не прочитанные- status2).
(function () {
    'use strict';

    angular
            .module('app.notifications')
            .factory('notificationService', notificationService);

    notificationService.$inject = ['$resource'];

    function notificationService($resource) {
        return $resource('server/json/notifications.json', {}, {
            getNotificationsData: {method: 'GET', isArray: true}
        });
    }
}());

В контроллере самого приложения app, я использую его так
(function () {
    'use strict';
        angular
            .module('app.core')
            .controller('HomeController', HomeController);
//Underscore в зависимости
    HomeController.$inject = ['notificationService', '_'];

    function HomeController(notificationService, _) {

        var vm = this;
        vm.showNotificationList = false;
        vm.unreadNotifications = [];
        vm.readNotifications = [];

        activate();

       // Получаем данные и отправляем их в SplitNotifications (разделяем на прочитанные и нет)
        function activate() {
            return getNotifications().then(function () {
                    SplitNotifications(vm.showNotificationList);
            });
        } ;

            // Получаем данные из сервиса 
    
        function  getNotifications() {
            return notificationService.getNotificationsData()
                    .$promise.then(function (data) {

                        vm.showNotificationList = data;
                        return vm.showNotificationList;
                    });
        }
        ;
       // Разделяем данные, полученные из сервиса на два массива - прочитанных сообщений и не прочитанных
        function SplitNotifications(showNotificationList) {
           
            for (var i = 0; i < showNotificationList.length; i++) {
                vm.unreadNotifications = _.filter(showNotificationList, {status:'1'}); 
                vm.readNotifications = _.filter(showNotificationList, {status:'2'});
                       }
        }
    } ;
})();

Но мне хочется сделать отдельный модуль и перенести, как минимум, логику разделения данных - SplitNotifications в свой модуль. Вот куда мне это спрятать? Сделать контроллер модуля notifications, но как он передаст данные в приложение? или тоже засунуть в сервис notificationService?

Update В общем, сделал отдельную директиву, в ней контроллер с зависимостью от сервиса и всё.
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы