2011-12-06 3 views
1

私はBackbone.jsを使ってアイテムのリストをレンダリングしています。これは働いている、私はモデル、コレクションとビューを持っています。Backbone.jsを使ったレンダリングソートメニュー

私がしたいことは、メインナビゲーションを持つことです。& Sub Navは、リスト項目のソートオプションを提供します。

メインナビゲーションはちょうど2つのアイテムなので、ページにハードコードされています。サブナビゲーションについては、メインナビゲーション選択に基づいて動的にレンダリングしたいと思います。サブナビゲーション項目は静的です。

私はときMainNav項目の変更を観察するイベントを設定します。

events : { 
    "click #items-main-nav" : "onNavMainClick" 
}, 

私の質問は、私は2つのメインナビゲーション項目のsubnav項目を定義しますどこにあるのでしょうか?そしてそれらをレンダリングする方法。そして、これはすべてbackbone.jsビューファイルにどこに保存すべきですか?

おかげ

答えて

2

あなたがMainNav上で選択した項目に応じたテンプレートを挿入しますsubNavコンテナ内、subNavコンテナをレンダリングつのビューを持つことになります。私はそれが以下のようになるはずだと思います....

var subNav = Backbone.View.extend({ 

    tagName: "div", 

    events: { 
    "click #items-main-nav" : "onNavMainClick" 
    }, 

    onNavMainClick : function(event){ 
    //determine which item they clicked on the main nav 
    //and call render with correct paramters 
    render(option); 
    }, 

    render: function(option) { 

    $(this.el).html(option.template(this.model.toJSON())); 
    return this; 
    } 

}); 
+0

モデルをどのように定義しますか?これは静的で、各項目にタイトルと値が含まれますか?それをどう定義して口ひげテンプレートに渡すのですか?ありがとう – AnApprentice

+0

リスト内の各項目に対して2つのモデルを1つずつ持つことができ、別のテンプレートをレンダリングする代わりに、同じテンプレートをレンダリングしますが、異なるモデルをレンダリングします。 –

関連する問題