Я посмотрел и предположил, что это просто, но просто не смог понять документацию API для этого.
Предположим, у меня есть контроллер, который извлекает данные при первом вызове (конечно, я опускаю тонну):
myCtrl = function ($scope, Data) {
$scope.data = [];
data_promise = Data.getData(); //a $http service
data_promise.success(function (data) {
$scope.data = data;
});
}
Это прекрасно работает, и когда страница загружается, я получаю $scope.data заполненным именно так, как мне нужно. Однако, конечно, пользователь может пожелать обновить данные. Предположим, что простая служба "Data.save()" вызывается, когда сервер нажимает кнопку "сохранить" в форме:
myApp.factory('Data', function ($http) {
save: function (data) {
$http({
method: 'POST',
url: 'someURL',
data: data,
}).success(function(){
//something here that might trigger the controller to refresh
});
};
});
Что бы я добавил в обратный вызов успеха, который мог бы повторно создать экземпляр контроллера, чтобы у него были самые последние данные с сервера? В настоящее время мне приходится обновлять страницу, чтобы получить обновленные данные. Сейчас я не беспокоюсь о минимизации обращений к серверу за счет кэширования результатов и изменений. Мне просто нужно сначала заставить это работать.
Спасибо!