gpt4 book ai didi

javascript - backbone.js - 集合和 View

转载 作者:可可西里 更新时间:2023-11-01 01:48:37 24 4
gpt4 key购买 nike

我了解如何将一个系列或一个单独的模型组合在一起。而且我通常可以获得模型的数据来显示。但我完全不清楚如何获取一个集合并获取该集合中的模型列表以显示。

我是否应该遍历集合并单独渲染每个模型?这应该是集合渲染功能的一部分吗?

或者集合是否只有自己的 View ,然后我以某种方式将整个集合数据填充到 View 中?

笼统地说,显示模型列表的正常方法是什么?

最佳答案

根据我的经验,最好在 Collection View 中保留对每个模型 View 的引用。

我目前正在进行的项目中的这个片段应该可以帮助您更好地理解这个想法:

var MyElementsViewClass = Backbone.View.extend({
tagName: 'table',

events: {
// only whole collection events (like table sorting)
// each child view has it's own events
},
initialize: function() {
this._MyElementViews = {}; // view chache for further reuse
_(this).bindAll('add');
this.collection.bind('add', this.add);
},
render: function() {
// some collection rendering related stuff
// like appending <table> or <ul> elements

return this;
},
add: function(m) {
var MyElementView = new MyElementViewClass({
model: m
});

// cache the view
this._MyElementViews[m.get('id')] = MyElementView;

// single model rendering
// like appending <tr> or <li> elements
MyElementView.render();
}
});

采用这种方法可以让您更有效地更新 View (重新呈现表中的一行而不是整个表)。

关于javascript - backbone.js - 集合和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com