Функция успеха $http.put не имеет доступа к области this службы, вызываемой внутри. Мне нужно обновить свойство службы в обратном вызове из запроса PUT.
Это сокращенный пример того, что я пытаюсь сделать в службе:
var myApp = angular.module('myApp', function($routeProvider) {
// route provider stuff
}).service('CatalogueService', function($rootScope, $http) {
    // create an array as part of my catalogue
    this.items = [];
    // make a call to get some data for the catalogue
    this.add = function(id) {
        $http.put(
            $rootScope.apiURL,
            {id:id}
        ).success(function(data,status,headers,config) {
             // on success push the data to the catalogue
             // when I try to access "this" - it treats it as the window
             this.items.push(data);
        }).success(function(data,status,headers,config) {
            alert(data);
        });
    }
}
Извините, если в JS есть некоторые ошибки, основным моментом является то, как я могу получить доступ к области обслуживания изнутри обратного вызова успеха?
  РЕДАКТИРОВАТЬ: в то время как ответ на этот вопрос был правильным, я переключился на метод factory, так как Джош и Марк рекомендовали его