让我给什么,我需要先所以你能理解我的问题。 我有一个联系人视图,如:
ContactView = Backbone.View.extend({
template: _.template("Name: <%= name %>
E-mail: <%= email %>
Phones
<%= label1 %> - <%= number1 %>
<%= label2 %> - <%= number2 %>"),
render: function() {
var contact = this.template(this.model.toJSON());
this.$el.html(contact);
}
});
到目前为止好,问题是,手机的部分是一个列表,我的模型拥有手机的数组,我需要把它动态地在该模板。
我的想法是创建另一个模型和视图电话和PhoneView只是这一点。 然后在ContactView我将创建一个方法render_phones,如:
render_phones: function() {
var phones = this.model.get('phones');
var phones_str = "";
for (var i in phones) {
var phone = new Phone(phones[i]);
var phoneView = new PhoneView({model: phone});
phones_str += phoneView.render();
}
return phones_str;
}
我改变了ContactView模板这样:
template: _.template("Name: <%= name %>
E-mail: <%= email %>
Phones
<%= phones %>"),
但如何让我的渲染方法得到呈现,并把模板中的电话列表?
我找不到一个模式来处理这样的情况。 和代码开始看起来不那么好。
PS:这只是一个例子,有我需要这我的应用程序的几个部分,需要生成与列表中的内容子视图的视图。