Jquery 使用Backbone.js呈现排序菜单

Jquery 使用Backbone.js呈现排序菜单,jquery,backbone.js,mustache,Jquery,Backbone.js,Mustache,我正在使用Backbone.js呈现项目列表。这是工作,我有一个模型,集合和视图 我想做的是有一个主导航和子导航,它为列表项提供排序选项 主导航只有两个项目,所以我在页面上有硬编码。对于子导航,我想根据主导航选择动态渲染它。子导航项是静态的 我设置了一个事件,以便在主导航项目更改时观察: events : { "click #items-main-nav" : "onNavMainClick" }, 我的问题是,我在哪里为两个主要导航项目定义subnav项目?以及如何渲染它们。这些都应

我正在使用Backbone.js呈现项目列表。这是工作,我有一个模型,集合和视图

我想做的是有一个主导航和子导航,它为列表项提供排序选项

主导航只有两个项目,所以我在页面上有硬编码。对于子导航,我想根据主导航选择动态渲染它。子导航项是静态的

我设置了一个事件,以便在主导航项目更改时观察:

events : {
    "click #items-main-nav" : "onNavMainClick"
},
我的问题是,我在哪里为两个主要导航项目定义subnav项目?以及如何渲染它们。这些都应该放在backbone.js视图文件中的什么位置


谢谢

您将拥有一个呈现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;
  }

});

如何定义模型?它将是静态的,并包括每个项目的标题和val?我如何定义它并传递给mustache模板?感谢您可以为列表中的每个项目提供两个模型,您可以使用不同的模型呈现相同的模板,而不是呈现不同的模板。