Backbone.js [在点击上渲染视图。 /用户动作]

时间:2011-09-09 09:32:07

标签: backbone.js

服务器端网址通过http://host:3000/categories.json

为我提供了所有类别的列表

我有作为骨干和模型中的模型的类别我在subCategoriesCollection中捕捉子类别。此时网址为http://host:3000/category/1

这将为我提供1下所有子类别的集合。

我想要的是,在页面上显示每个类别。也就是说,如果有10个类别,我需要渲染视图10次,允许用户在单个页面上显示每个类别,但使用相同的模板。

请指导我。

1 个答案:

答案 0 :(得分:0)

这是使用子视图渲染集合的典型方法(我假设这是您在说“相同模板”时所引用的内容)。

var SubCategoryView = Backbone.View.extend({
    initialize: function(){
        _(this).bindAll();
    },
    render: function () {
        $(this.el).html(this.model.escape('Name');
        return this;
    }
});
var SubCategoryListView = Backbone.View.extend({
    initialize: function(){
        _(this).bindAll();
    },
    render: function () {
        $(this.el).empty();
        this.collection.each(function (subcategory)
        {
            var childView = new SubCategoryView({
                model: subcategory
            });
            $(this.el).append(childView.render().el);
        });

        return this;
    }
});

然后,您可以通过将子类别集合传递给SubCategoryListView

来呈现类别视图

当我开始使用骨干网时,我发现这个链接很有帮助。它有点深入,但提供了一个更强大的解决方案,我刚刚输入的内容:http://liquidmedia.ca/blog/2011/02/backbone-js-part-3/

祝你好运