Я пытаюсь настроить простой Marionette's CompositeView
. Вот что я хочу, в конце концов:Marionette CompositeView в контексте выбора> опции
%select#target-id
%option{:value => "#{@id}"} = @name
%option{:value => "#{@id}"} = @name
etc
В моей CompositeView
я указать childViewContainer: select
и мне нужно, чтобы отобразить как @name (для удобства чтения) и @Id (для соответствующего события) в опциях этого выберите , Из-за природы сНа по умолчанию элемента я могу к speficfy tagName
как option
в моем ItemView
:
class New.TargetView extends App.Views.ItemView
template: "path/to/template"
tagName: 'option'
И в шаблоне я могу передать только содержание чтобы быть созданы вариантом элемент: = @name
. Это прекрасно работает, Marionette создает элемент выбора для каждой модели и заполняет его именем модели. Проблема в том, что я не знаю, как передавать атрибуты, так как я не могу указать атрибут еще не созданного элемента.
Я также попытался установить attributes
собственность на ItemView
как это:
attributes:
value: "#{@id}"
И это технически работает: параметры заполняются с атрибутом value=""
, но содержание не определено. Пожалуйста посоветуй.
Мне удалось обойти, заставив разворачивать элемент с помощью '@ $ el.unwrap()', но это намного более чище, и он становится все очевидным. Большое спасибо! –