nurise
@nurise
Front-end, WordPress, Design

Как отобразить данные, подгруженные через ajax в Angular?

Есть такой html
<label for="country">Страна:{{countries.length}}</label>
    <select ng-model="countries" ng-name="country" ng-options="country.title for country in countries"  name="country" id="" class="form-control">
	    <option value="">--Выбрать страну--</option>
    </select>

И такой контроллер
function CountryController ($scope) {
	$scope.countries = [
		{title: "bla"}
	];
	VK.Api.call("database.getCountries", {code: "RU"}, function(r) {
		for(var i = 0; i < r.response.length; i++) {
			$scope.countries.push({title: r.response[i].title});
			console.log(r.response[i].title);
		} 
	});
}

Тестовое "bla" в $scope.countries отображает, но все рендерится до загрузки данных из ВК и больше ничего не отображается. Как можно исправить? Я не силен в Angular.
  • Вопрос задан
  • 2976 просмотров
Решения вопроса 1
nurise
@nurise Автор вопроса
Front-end, WordPress, Design
Вот так и решил.
function CountryController ($scope) {
	$scope.countries = [];
	VK.Api.call("database.getCountries", {code: "RU,UA,BY,KZ"}, function(r) {
		var countries_ar = [];
		for(var i = 0; i < r.response.length; i++) {
			countries_ar.push({title: r.response[i].title});
		} 
		$scope.$apply(function () {
			$scope.countries = countries_ar;
		});
	});
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Вполне очевидно.
Внимательней читайте документацию.

https://github.com/angular/angular.js/wiki/When-to...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы