ng Выберите не заполнять ajax-данные при загрузке страницы

У меня есть угловое веб-приложение, которое имеет следующее:

<select ng-model="modelObject.users" ng-options="users.name for users in ajaxData">
</select>

и контроллер, который заполняет выбор через данные ajax. Проблема, с которой я столкнулся, заключается в том, что данные в выборке не заполняются до тех пор, пока выбор не будет нажат, а затем не сфокусирован. После этого у выбора будут все заполненные данные при повторном нажатии.

Это ошибка или по какой-то причине данные / опции изначально не вставляются в объект select.

Я попытался сделать что-то похожее на это: angular.js select не показывает значение опции в начале и просмотрел много других вопросов о переполнении стека. Моя проблема отличается тем, что:

В выборе нет НИКАКИХ опций, пока пользователь не щелкнет по нему и не сфокусирует его. Где, как и большинство других ответов, в отношении того, что верхний вариант изначально не выбран.

2 ответа

Решение

Предполагая, что вы используете jquery для получения данных, в вашем обработчике успеха Ajax, когда вы обновите переменную области действия с вашими данными ответа, используйте

$scope.$apply(),

это должно обновить представление с вашими данными.

Инициализируйте ng-модель тега select, который отобразит опцию в выпадающем списке.

Другие вопросы по тегам