让我先展示我需要什么,以便您了解我的问题。我有一个联系人视图,如:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,问题是电话部分是一个列表,我的模型包含一个电话数组,我需要将它动态地放入该模板中。
我的想法是创建另一个模型并为此查看 Phone 和 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; …Run Code Online (Sandbox Code Playgroud)