Просто используйте Function.bind()
для функции, которую вы передаете promise.then
, чтобы поддерживать требуемый контекст. Например:
return $http({
method: 'GET',
url:'server.php'
}).then(function(response) {
$scope.contacts = response.data;
}.bind(this));
Тем не менее, я замечаю, что ваши обратные вызовы управляют элементами - то, что вам не нужно делать в Angular. Есть ли что-то конкретное, что вы пытаетесь сделать, но неспособное с обратным вызовом?