Я хочу создать элемент управления mariontte, который состоит из трех основных элементов управления. Сначала это Date Picker, второй - числовой степпер, а третий - Date Picker. Идея заключается в том, что первая дата - это начальная дата, а числовой шаговый добавляет дни, и результат показан во втором сборщике дат. Во всяком случае, я не знаю, как создать представление Marionette, когда не все дочерние элементы одинаковы. Как мне подойти к этому?управление марионеткой из основных элементов управления
1
A
ответ
2
Я думаю, что вы можете создать compositeview (или даже макет может работать), имеющие три див и сделать три различные itemviews в три диве явного добавления эля из itemViews в дивах
например если следующий ваш шаблон compositeview
<div id="first-datepicker"></div>
<div id="numeric-stepper"></div>
<div id="second-datepicker"></div>
Затем в compositeView JS вы можете сделать itemviews следующим
ui:{
firstDatepicker: "#first-datepicker",
numericStepper: "#numeric-stepper",
secondDatepicker: "#second-datepicker"
},
onRender: function(){
this.ui.firstDatepicker.html(new DatePickerView().render().el);
this.ui.numericStepper.html(new NumericStepperView().render().el);
this.ui.firstDatepicker.html(new DatePickerView().render().el);
}
Но в случае схемы не нужно явно отрендерить вид, вы можете просто использовать метод показа макета как
regions:{
firstDatepickerRegion: "#first-datepicker",
numericStepperRegion: "#numeric-stepper",
secondDatepickerRegion: "#second-datepicker"
},
onRender: function(){
this.firstDatepickerRegion.show(new DatePickerView());
this.numericStepperRegion.show(new NumericStepperView());
this.secondDatepickerRegion.show(new DatePickerView());
}