Я боролся с этим в течение нескольких дней и не могу найти решение. У меня есть простой список в моем представлении, извлеченный из MongoDB, и я хочу, чтобы он обновлялся всякий раз, когда я вызываю функцию удаления или обновления. Хотя кажется простым, что я должен иметь возможность вызывать ранее объявленную функцию в пределах одной области, она просто не работает.Функция определения области вызова AngularJS для модели области «refresh»
Я попытался установить getDispositivos на третьей службе, но затем Инъекция все испортилась. Объявление функции просто как var function() {...}, но это не работает.
Любая помощь приветствуется.
Вот мой код:
var myApp = angular.module('appDispositivos', []);
/* My service */
myApp.service('dispositivosService',
['$http',
function($http) {
//...
this.getDispositivos = function(response) {
$http.get('http://localhost:3000/dispositivos').then(response);
}
//...
}
]
);
myApp.controller('dispositivoController',
['$scope', 'dispositivosService',
function($scope, dispositivosService) {
//This fetches data from Mongo...
$scope.getDispositivos = function() {
dispositivosService.getDispositivos(function(response) {
$scope.dispositivos = response.data;
});
};
//... and on page load it fills in the list
$scope.getDispositivos();
$scope.addDispositivo = function() {
dispositivosService.addDispositivo($scope.dispositivo);
$scope.getDispositivos(); //it should reload the view here...
$scope.dispositivo = '';
};
$scope.removeDispositivo = function (id) {
dispositivosService.removerDispositivo(id);
$scope.getDispositivos(); //... here
};
$scope.editDispositivo = function (id) {
dispositivosService.editDispositivo(id);
$scope.getDispositivos(); //... and here.
};
}
]
);
попробуйте вызвать $ scope.getDispositivos(); после получения ответа от add удалить или изменить –