У меня есть массив строк, который с помощью angular отображается списком, но я не могу добавить в него строку с функции success ajax запроса. При добавлении с обычной функции все добавляется нормально.
Код контроллера:
function directoryController($scope) {
function initialize() {
$.ajax({
url: '/api/directory/',
type: 'GET',
dataType: 'json',
success: function (data) {
for (var i = 0; i < data.length; i++) {
alert(data[i].Name);
$scope.directories.push(data[i].Name); //Эти элементы не добавляются
}
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
}
function test() {
$scope.directories.push("test"); //этот элемент добавлен успешно
}
$scope.currentDir = "";
$scope.directories = ["..."];
test();
initialize();
}
Разметка:
<p class="currentDirectory"><span>Current directory: </span>{{currentDir == "" ? '[ROOT]' : currentDir}}</p>
<span ng-model="currentDir"></span>
<ul>
<li ng-repeat="obj in directories">
<p>{{obj}}</p>
</li>
</ul>
Результат: