2016-07-28 6 views
1

私は3つのバックボーンコントロールからなるマリオネットコントロールを作成したいと思います。最初は日付ピッカー、2番目は数値ステッパー、3番目は日付ピッカーです。最初の日付は最初の日付であり、数値ステッパーは日数を加算し、結果は2番目の日付ピッカーに表示されるという考え方です。とにかく、すべての子アイテムが同じでない場合、マリオネットビューを作成する方法がわかりません。私はこれにどのようにアプローチすべきですか?バックボーンコントロールからのマリオネットコントロール

答えて

2

は、私はあなたがCompositeViewのを作成することができます(あるいはレイアウトが動作することができます)3つのdivを有し、かつ明示的

例えばdiv要素にitemViewsのエルを追加することによって、3つのdiv 3つの異なるitemviewsをレンダリングだと思います次はあなたのCompositeViewのテンプレート

<div id="first-datepicker"></div> 
<div id="numeric-stepper"></div> 
<div id="second-datepicker"></div> 

ある場合

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); 
} 

しかし、レイアウトの場合には明示的にレンダリングする必要はありませんが、次のように次に、あなたのCompositeViewのJSにあなたはitemviewsをレンダリングすることができますあなたは単にレイアウトのshowメソッドを使うことができます

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()); 
} 
関連する問題