var ContractModel = Backbone.Model.extend({
url: "${g.createLink(controller:'waiverContract', action:'index')}"
})
var contract = new ContractModel({});
contract.fetch();
var contracts = new Backbone.Collection.extend({
model: contract
});
var ContractView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function() {
var root = this.$el;
_.each(this.model, function(item) {
var row = '<tr><td>' + item + '</td></tr>';
root.find('tbody').append(row);
});
return this;
}
});
var cView = new ContractView({ model: contract, el: $('#contracts') });
我打开了 Chrome 的开发者工具。如果我在渲染函数中执行 console.log(this.model),我可以看到一个对象的混乱,其中两个记录存储在 .attributes 中。但是,我没有将两行添加到表中,而是得到了 7 个。其中 6 个是对象。(虽然我在 Chrome 的控制台中看到了 9 个子对象)。
这对我来说没有多大意义。任何人都可以帮助我不仅让这个工作,而且理解它吗?我知道一旦我实例化了 cView,render() 就会触发,而且我知道一旦我将 .fetch() 放入模型中,它就会执行 ajax。但这就是我能理解的极限。