Показать сообщение отдельно
  #1 (permalink)  
Старый 15.03.2017, 15:51
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

Подскажите ошибки: реализовал сервис добавления и получения данных из таблицы
C получением данных предполагаю, что всё хорошо, а вот с добавлением мне кажется реализовано не правильно - выполняю push и вызываю notify прямо в сервисе.

Нужно наверно каким-то образом передавать из сервиса в контроллер параметр, например, 'success', и делать push уже в контроллере.



service.dataByCommands.js:

(function(){
   'use strict';

    angular
        .module('service.dataByCommands',[])
        .factory('serviceDataByCommands', serviceDataByCommands);

        function serviceDataByCommands($http) {

            var _vm;
            
            return {
                name: 'Commands Service',
                add: function (vm) {
                    
                    _vm = vm;
                    
                    $http.post('addData.php',{genCommand:vm.newGenerationCommand, description:vm.newDescription})
                        .then(function(response) {

                            vm.notify('success','Команда "' + response.data[0].command + '" успешно сохранена!');

                            vm.lists.push({
                                    id: response.data[0].id,
                                    command: response.data[0].command,
                                    description: response.data[0].description,
                                    completed: response.data[0].completed
                            });
                            
                        })
                        .catch(function(error) {
                            console.log(error);
                        });                    
                    
                },
                get: function (callback) {
                        $http.get('getData.php')
                            .then(function(response) {
                                callback(response.data);
                            },
                            function(error) {
                                console.log(error);
                            });
                }
            }
            
        }
        
})();


controllers.js:

var vm = this;
.....

serviceDataByCommands.get(function(data){
     vm.lists = data;
});
        
vm.addCommand = function() {
     serviceDataByCommands.add(vm);
};

.....

Последний раз редактировалось okuznetsov1, 15.03.2017 в 16:00. Причина: переименовал переменную
Ответить с цитированием