я имею угловое приложение с обслуживанием и регулятором,:AngularJS - доступ возвращаемой переменной методы области видимости в другом методе
service.js
.factory('MyService', function ($http, $q) {
var api_url = 'http://localhost/api/';
var MyService = {
list: function (items_url) {
var defer = $q.defer();
$http({method: 'GET',
url: api_url + items_url}).
success(function (data, status, headers, config) {
defer.resolve(data);
}).error(function (data, status, headers, config) {
defer.reject(status);
});
return defer.promise;
},
...
}
});
controller.js
.controller("ItemsCtrl", function ($scope, MyService) {
$scope.getItems = function() {
MyService.list('items/').then(function(data) {
$scope.items = data;
});
};
$scope.addItems = function() {
$scope.getItems();
// why is this undefined ??!!!
console.log($scope.items);
};
Проблема в том, что я хочу вызвать метод $scope.getItems
внутри $scope.addItems
способ. Возможно, мне нужно использовать $scope.apply()
, так как возвращаемое значение является обещанием?
Я думаю, что я отображая здесь общее недопонимание:/
Любая помощь будет оценена.