var foo = angular.module('foo', []);
foo.factory('apiService', function($http){
'use strict';
return {
getItems: function() {
return $http.get('api/get-items')
.then(function(result) {
return result;
});
}
};
});
OutlastApp.controller('ItemListCtrl', function ($scope, apiService) {
'use strict';
apiService.getItems().then(function(result) {
$scope.items = result.data;
});
});
OutlastApp.controller('AddItemCtrl', function ($scope, $http, $rootScope, apiService) {
'use strict';
...
$scope.saveItem = function(item) {
$http({
url: 'api/add-item',
method: 'GET',
params: {
name: item.name,
description: item.description,
...
}
}).success(function(data, status, headers, config) {
// TODO: What to do?
});
};
});
Как вы, кажется, у меня есть установка $scope.items
, чтобы получить его содержимое от вызова AJAX.Angularjs - Обновление переменной области действия после операции AJAX
Что я пытаюсь сделать, так это то, что я хочу попытаться обновить $scope.items
, чтобы он отражал недавно добавленный элемент.
Как это сделать? Правильно ли это сделать двустороннюю привязку между API и переменными области видимости?