У меня есть выпадающий списокНастройка по умолчанию <select> значение с асинхронными данными
<select ng-model="referral.organization"
ng-options="key as value for (key, value) in organizations">
</select>
где organizations
заполняется с использованием запроса $ HTTP. У меня также есть ресурс referral
, который включает в себя несколько свойств, включая целое число organization
, которое соответствует значению, сохраненному в раскрывающемся списке. В настоящее время выпадающее меню отлично работает и выбирая новое значение, обновит мой referral
ресурс без проблем.
Однако, когда страница загружается, раскрывающийся список пуст, а не отображает значение referral.organization
, полученное с сервера (то есть при открытии ранее сохраненной формы referral
). Я понимаю, что это, вероятно, связано с тем, что мой ресурс пуст, когда страница загружается первой, но как я могу обновить раскрывающийся список, когда информация была успешно восстановлена?
Редактировать: {{ organizations[referral.organization] }}
успешно отображает выбранное значение, если оно размещено где-то в другом месте на странице, но я не знаю, как дать тегу это выражение для отображения.
Вторая редакция: Проблема была, по-видимому, несоответствием между ключом, используемым в ngOptions, и переменной, используемой в ngModel. Опция <select>
возвращалась как строки из WebAPI (несмотря на начало словаря), а модель referral
возвращала целые числа. Когда referral.organization
был помещен в ngModel, Angular не соответствовал 2723 на «2723» и так далее.
Я пробовал несколько разных вещей, но следующее хорошо работает и является «самым чистым» для меня. В функции обратного вызова для ГЭТ $ ресурсов, я просто изменить необходимые переменные строки следующим образом:
$scope.referral = $resource("some/resource").get(function (data) {
data.organization = String(data.organization);
...
});
Не уверен, если это будет рассматриваться как проблема с угловым (не соответствует 1000 к «1000») или WebAPI (сериализация Dictionary<int,String>
до { "key":"value" }
), но это функционально, и тег <select>
по-прежнему связан с ресурсом referral
.
Этот вопрос (и эти ответы) больше связан с тем, что параметры асинхронны или больше о том, что параметры являются объектами? –