У меня есть следующий код, и проблема в том, что значение сгружаться с JSON не присваивается переменной VmУгловая «это» не присваивает значение
(function() {
angular
.module('app', [])
.controller('theController', theController);
function theController($http) {
var vm = this;
vm.message = [];
vm.message2 = [];
fetchJSON();
console.log(vm.message);
vm.message2 = vm.message;
function fetchJSON() {
$http
.get('http://beta.json-generator.com/api/json/get/4y2l2jq8l')
.success(function(data) {
vm.message = data;
});
}
}
})();
Значение Поручаю vm.message в методе fetchJson не отображается в главном представлении, поэтому, когда я устанавливаю message2 = message, он по-прежнему пуст.
Живая демонстрация: http://codepen.io/matt23/pen/PZbNQa?editors=101
'$ http' является асинхронной, что означает, что позволяет ваш другой код, чтобы продолжать работать и ваш '.success()' запускается позднее. Ваши вызовы 'console.log' и назначения выполняются немедленно, прежде чем произойдет' .success() '. – Claies
Вы правы! Благодарю вас, я целый день проводил решение этой проблемы. –