У меня есть служба данных, в которой говорится:
myApp.factory('locationsData', function ($resource) {
return $resource('/api/Location/:id', { id: '@id' }, { update: { method: 'PUT' } });});
Затем я использую эти местоположения для заполнения раскрывающегося списка в моем представлении:
<select ng-model="locationId" ng-options="item.LocationId as item.LocationName for item in locations"></select>
Я хочу установить значение инициализации раскрывающегося списка в моем контроллере с помощью:
$scope.locationId = 8;
Это не работает, я думаю, из-за асинхронного характера $ resource - у него еще нет списка, поэтому я не могу его установить.
Я знаю, что $ q предназначен для решения этой проблемы, но не уверен, как создать обещание и установить
$scope.locationId = 8;
после того, как это выполнено
Я прочитал документацию по ресурсам $ q и $, но мне еще предстоит увидеть хороший образец кода, показывающий, как можно было бы сделать простой get, как я, а затем выполнить некоторую функцию / действие после выполнения обещания get.
Спасибо.