Я создал форму с Angular Material, которая использует раскрывающийся список для выбора из массива book
объектов с именами и идентификаторами с конечной целью обмена на другую книгу в моей коллекции. Вот как выглядит мой типичный торговый объект:
var tradeItem = {
wanted: {
user: 'barryjohnson',
bookId: 'foo1bar2'
},
offered: {
user: 'dangraham',
bookId: 'bar7baz8'
},
};
Я хочу сохранить весь объект в моем ng-model
в моем меню выбора, поэтому я хочу, чтобы ng-repeat ссылался на весь объект массива. Таким образом, я могу сделать простой последующий запрос к моей базе данных.
На данный момент сохраняется только заголовок, который находится внутри моего тега md-option
.
Вот мой взгляд:
md-dialog(aria-label='Trade', ng-cloak='')
form
md-toolbar
.md-toolbar-tools
h2 Propose a Trade
span(flex='')
md-dialog-content(style='max-width:800px;max-height:810px; ')
.md-dialog-content
p Which of your books would you like to trade for '{{userClickedBook.title}}'?
p {{selected}}
md-input-container.md-block
label(for="mySelect") Your Books
md-select(name="mySelect", ng-model='selected')
md-option(ng-repeat="book in usersBooks") {{book.title}}
div(layout='row')
md-button(ng-click='cancelDialog()', style='margin-right: 20px;') Cancel
md-button.md-primary(ng-click='save()', ng-disabled='myForm.$invalid', layout='', layout-align='center end') Ok
Итак, как я могу связать весь объект, чтобы $scope.selected
был похож на вышеупомянутый объект tradeItem
, а не только на одну строку (содержимое md-option
)?