javascript - 实现具有多个集合的主视图。主干网.js

标签 javascript jquery backbone.js user-interface

EDIT my humble mockup of what I want to implement


我定义了这样一个 View :

define(['jquery', 'underscore', 'backbone', 'text!_templates/gv_container.html', 'bootstrap/bootstrap-tab'], 
function($, _, Backbone, htmlTemplate, tab) {
    var GridViewContainer = Backbone.View.extend({
        id: 'tab-panel',
        template: _.template(htmlTemplate),
        events: { 'click ul.nav-tabs a': 'tabClicked' },
        tabClicked: function(e) {
            e.preventDefault();
            $(e.target).tab('show');
        },
        render: function() {
            this.$el.append(this.template);
            return this;
        }
    });
    return GridViewContainer;
}); // define(...)

View 的模板如下所示:

<ul class="nav nav-tabs">
    <li class="active"><a href="#products">Products</a></li>
    <!-- other tabs -->
</ul>
<div class="tab-content">
    <div class="tab-pane active" id="products">
        <!-- table with rows like { title, few more properties, edit|remove links } -->
    </div>
    <!-- other panes ... -->
</div>

最初我想我可以使用它(一次作为所有集合的通用模板)。

目标

我有三个集合:产品类别订单。我想将它们作为表格插入到单独的 tab-pane 中。至于将模型传递给 GridViewContainer 我想我可以将它们包装在 composite model 中并将后者作为 options 对象的一部分传递给GridViewContainer View 。下一步是什么?

ProductOrderCategory 模型具有不同的属性、不同的编辑形式和可能的事件处理。这带来了特异性。我应该为每个集合使用 [EntityName]ListView,然后将其附加到 GridViewContainer View 吗?


ASIDE I use jquery.js, underscore.js, backbone.js, require.js, and ASP.NET MVC 4 on server side. I don't use Marionette.js

最佳答案

我建议为每个模型创建一个 View 。 您可以创建一个抽象来保存共享的东西,比如表创建。 每个 View 都扩展了您的抽象而不是 Backbone.View。

var myAbstract = Backbone.View.extend({...})
var productsView = myAbstract.extend({...})

然后创建一个 View ,处理包装器(选项卡)。

示例:http://jsfiddle.net/DC7rN/

关于javascript - 实现具有多个集合的主视图。主干网.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16518034/

相关文章:

javascript - 以 Express 方式将主干集合保存到 MongoDB

javascript - dojo 单一按钮上的多种功能

javascript - 页面重新加载后向导航添加和删除类

javascript - 创建 View 实例时,Backbone.js 不是构造函数错误

jquery - 迭代 Jquery 表单对象以获取输入

javascript - 从 JQuery 每个函数中的对象获取值

javascript - Backbone.js + 关系型 + AMD ...引导关系型

javascript - 子组件onClick参数在父组件中不起作用

javascript - 表单脚本清除文本区域

javascript - 为什么我的页面不反射(reflect)我在代码中所做的更改?