Возможно ли получить доступ к переменным $ scope и функциям из $ scope. $ Apply call?
Ниже приведен фиктивный пример, демонстрирующий мою точку зрения. Как показано, при запуске контроллера вызывается someFunctionWithaCallbackParam
и его параметр используется как обратный вызов, когда функция завершается.
В пределах $scope.$apply
представлены переменные и функции $ scope? Если нет, то как получить доступ к $ scope?
angular
.module('myController')
.controller('ExampleController', ['$scope', function($scope) {
$scope.data = [];
someFunctionWithaCallbackParam(function(myList) {
$scope.$apply(function() {
for (var i = 0; i < myList.length; i++) {
// Is $scope visible from here??
$scope.addItem(myList[i]);
}
});
}
$scope.addItem(item) {
// do stuff
$scope.data.push(item);
}
}]);
Да, так работают работы с закрытием JavaScript. –
, пока вы определяете функцию, в которой доступен $ scope, вы классный. это означает, что вы не можете использовать $ scope, как если бы вы определили эту функцию в какой-то большой глобальной коллекции обработчиков, не используя возможности DI. – dandavis