Я использую this
вместо $scope
для углового приложения, что приводит к трудностям, когда я пытаюсь получить доступ к результатам запроса get
в контроллере.Угловое объединение запроса получения http с этим
Моя фабрика выглядит следующим образом:
app.factory('footballService', function($http) {
return{
getAllTeams : function() {
return $http({
url: 'url',
dataType: 'json'
})
}
}
});
и мой контроллер выглядит следующим образом:
app.controller('footballController', function(footballService) {
var footballController = this;
footballService.getAllTeams().success(function(data){
console.log(data); //this data is shown
footballController.teams = data;
});
console.log(footballController.teams); //this is undefined
});
Вопрос заключается в том, что я хочу, чтобы получить доступ к командам вне getAllTeams()
. Может ли кто-нибудь объяснить, как я могу получить доступ к этой переменной? Я думал, установив var footballController = this;
, позволит мне получить доступ к этому во всем контроллере, но я должен неправильно понимать, как работает Angular.
Благодарим за любую помощь заранее.
потому что вы пытаетесь получить доступ к асинхронным данным до того, как они заселятся –
@PankajParkar имеет смысл! –