Я пытаюсь использовать Backbone.Marionette для создания приложения. Приложение получает свои данные через вызовы REST.Поле выбора формы в Магионте магии
В этом приложении я создал модель, которая содержит следующие поля:
- идентификатор
- имя
- язык
- типа
Я также создал ItemView, который содержит полная форма для модели. Шаблон я использую это:
<form>
<input id="model-id" class="uneditable-input" name="id" type="text" value="{{id}}"/>
<input id="model-name" class="uneditable-input" name="name" type="text" value="{{name}}" />
<select id="model-language" name="language"></select>
<select id="model-type" name="type"></select>
<button class="btn btn-submit">Save</button>
</form>
(я использую Twig.js для рендеринга шаблонов)
Я могу успешно получить данные модель, и отобразить вид.
Теперь я хочу заполнить поля выбора для языка модели и типа модели с параметрами. Поля языка и типа должны быть ограничены значениями в результате вызовов REST, т. Е. У меня есть список языков и список типов, предоставляемых мне через REST.
Я рассматриваю наличие двух коллекций, один для языка и один для типа, создающий представление для каждого (то есть viewLanguageSelectOptions и viewTypeSelectOptions), который отображает параметры в форме шаблона, указанного выше. Я не уверен, что это возможно, или где нужно заполнить параметры и как установить выбранную опцию на основе данных из модели. Для меня это не совсем понятно, даже если посмотреть на примеры и доступные документы, которые, по мнению Marionette, могут быть лучше всего реализованы. Возможно, я смотрю не в ту сторону.
Другими словами, я застрял прямо сейчас, и я задаюсь вопросом, кто из вас встречает Магнетает Магнетет пользователей есть предложения или решения. Надеюсь, ты поможешь!
Спасибо! Я подумал об этом сам и собирался написать ответ здесь также :) Во всяком случае, я сделал именно это: я разделил файлы для части контроллера и части представления. В части контроллера я запрашиваю языки и типы с сервера REST. После succesfull fetch я передаю их как опции для представления. В обработчике serializeData представления я вставляю параметры в данные, которые будут использоваться в рендеринге шаблона. Проверка того, выбран ли правильный вариант, обрабатывается самим шаблоном, сравнивая выбранную опцию с отображаемой опцией. – Vanderstaaij