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);
};
.....