Это мой контроллер:
var app = angular.module('myApp', [ 'ngMaterial' ]);
app.controller('searchController',['$scope','$http',function($scope,$http) {
this.selectedItemChange = function(item) {
$http.get("url").then(function(response) {
this.initializeProfiles();
});
}
this.initializeProfiles = function() {}
}
Но я получаю ошибку TypeError: this.initializeProfiles is not a function
.
Как мне получить доступ к initializeProfiles()
внутри. Then $ http.get?
Это работает! Благодарю. Но почему это происходит? – pkyo
@pkyo - это связано с 'this', ссылка меняется в зависимости от стека вызовов и неявно фиксируется в обратном вызове. Существует очень хороший ответ SO, объясняющий все детали этого «вопроса», дайте мне минуту, и я найду его. – Igor
@pkyo - нашел его, я обновил свой ответ, чтобы включить его в конец. – Igor