Подтвердить что ты не робот

Использование AngularJS, как мне привязать элемент <select> к атрибуту, который обновляется через службу

У меня есть контроллер дисплея и контроллер управления. Внутри моего контроллера дисплея у меня есть селектор выпадающего списка со списком элементов, которые были выбраны.

Я могу получить раскрывающийся список области отображения, чтобы обновить список, добавив элементы, поскольку они добавлены в контроллер управления, но я не могу понять, как выбрать новейший элемент в раскрывающемся списке.

<div ng-controller="MyDisplayCtrl">
  <select ng-model="item" ng-options="i.name for i in items">
  </select>
</div>

Я сделал jsfiddle, чтобы проиллюстрировать мою ситуацию. В конечном счете, однако, мой вопрос заключается в том, как связать эту ng-model = "item" с источником данных, обновленным службой.

http://jsfiddle.net/whtevn/mUhPW/2/

4b9b3361

Ответ 1

Хорошо, похоже, я нашел довольно удовлетворительный ответ на этот вопрос.

Я сам обнаружил объект хранения через контроллер

function MyDisplayCtrl($scope, ItemStore) {
    $scope.items = ItemStore.items;
    $scope.item  = ItemStore.currentItem;

    // expose the itemstore service to the dom
    $scope.store = ItemStore

    $scope.getItem = function(){
        return(ItemStore.currentItem);
    }
}

а затем непосредственно обратиться к текущему элементу

<div ng-controller="MyDisplayCtrl">
    <select ng-model="store.currentItem" ng-options="i.name for i in items">
    </select>
</div>

http://jsfiddle.net/whtevn/Cp2RJ/3/