【问题标题】:How to handle nested views with Backbone.js?如何使用 Backbone.js 处理嵌套视图?
【发布时间】:2011-05-20 18:16:52
【问题描述】:

在我的应用程序中,我有几个tagList,每个都包含几个tags,按index_name 分组。

我不知道应该如何处理 Backbone 视图。

我有一个扩展Backbone.ViewTagListView,我想我会用这个视图处理所有事件。

我的主要问题是:我是否应该创建一个带有渲染函数的TagView,该函数将为TagListView 渲染函数中的每个标签创建和渲染?


在我看来,这是我目前所做的:(初始化可以吗?!)

    <ul id="strategy-tags">
        <!-- initial data -->
        <script type="text/javascript">
            AppData.strategyTagList = $.parseJSON('<?php echo json_encode($strategyTagList); ?>');
            strategyTagListView = new App.TagListView({el : "#strategy-tags", data: AppData.strategyTagList});
        </script>
    </ul>

在我的core.js 里面:

    App.TagListView = Backbone.View.extend({

        // dom event specific to this item.
        events: {
        },

        initialize: function(options) {
            this.el = options.el;
        },

        render: function() {
            // let's construct the tag list from input data
            _.each(options.data, function(index) {
                // render index? <-- how ?
                _.each(index, function(tag) {
                    // render tag? <-- how ?
                    console.log(tag);
                });
            });
            return this;
        }

    });

非常感谢。

【问题讨论】:

    标签: javascript jquery view backbone.js


    【解决方案1】:

    我会说是的,单个“项目”视图能够单独重新渲染的好处是,如果您对此类项目背后的模型进行更改,则只有该项目需要由浏览器。哪个最有利于性能。

    【讨论】:

      【解决方案2】:

      这似乎是一个粒度问题,我有时会问自己。我的建议是不要过度表达意见。它类似于为 java 中的所有内容创建对象——有时一个简单的字符串就足够了。如果您将来发现粒度增加的情况,您可以随时返回并更改它。

      【讨论】:

        猜你喜欢
        • 2011-09-26
        • 1970-01-01
        • 2012-03-21
        • 2011-10-30
        • 2011-12-15
        • 2012-09-14
        • 2012-06-11
        • 2013-05-06
        • 1970-01-01
        相关资源
        最近更新 更多