Я новичок в AngularJS, и у меня есть некоторые проблемы с использованием переменных области.AngularJS scope variable undefined
Вот пример кода. Я хотел бы знать, почему использование ng-repeat показывает значения $ scope.currencies, но когда я пытаюсь получить доступ из JS (console.log ($ scope.currencies)), он возвращает «undefined»
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="appCtrl">
<ul>
<li ng-repeat="x in currencies">
{{ x }}
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('appCtrl', function($scope, $http) {
$http.get("http://localhost:8080/currencies")
.success(function (response) {$scope.currencies = response;});
console.log("currencies are "+$scope.currencies);
});
</script>
</body>
</html>
Я думаю, что есть что-то я получаю неправильно об областях, может кто-нибудь дать мне ключ?
Ваш console.log работает до того, как ответ от $ http.get может запустить метод .success. В этот момент значения $ scope.currencies все еще не определены. –
Вы ошибаетесь в отношении $ q/$ http/promises. – dizel3d