Как бы я ни старался, я не могу получить угловой выбор с полностью работающей асинхронностью. Я могу заставить его в основном работать, но не все.
представьте, что контроллер выглядит так:
$scope.stuff = {};
$scope.stuff.blah = "SOME_KEY";
External.list().then( function (data ) {
$scope.stuff.sourceSystems =data;
});
то это хорошо отображает значения
<select ng-model="stuff.blah">
<option ng-repeat="(key, value) in stuff.sourceSystems | orderBy" value="{{key}}">{{key}}</option>
</select>
но по какой-то причине в начале есть дополнительный пустой выбор:
<select ng-model="stuff.blah" ng-options="key for (key, value) in stuff.sourceSystems | orderBy"></select>
однако ни в том, ни в другом случае мое существующее значение, которое я установил в SOME_KEY, не выбрано. в первом случае выбирается первое значение в списке, во втором случае выбирается пустое значение. В обоих случаях основное связанное значение равно SOME_KEY. ОДНАКО - как только я действительно меняю выбранное значение, опуская его вниз - связанное значение (бла) - правильно изменяется.
Это в директиве с bindToController, установленным в true.
Что я делаю не так?
data
не имеет пустого ключа? Если вы можете опубликовать свой ответ из списка, нам будет легче помочь отладить это. - person Shannon Hochkins   schedule 26.05.2016