Позвольте мне сначала показать, в чем я нуждаюсь, чтобы вы могли понять мою проблему. У меня есть вид контакта, как:Магистраль: список видов внутри вида
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: Это всего лишь пример, есть несколько других частей моего приложения, которые мне нужны, представление, которое должно генерировать subviews с содержимым в списке.
Я имею в виду, что метод визуализации уже имеет: this.template (this.model.toJSON()); Мне нужно было бы сделать цепочку телефонов частью модели, чтобы она отображалась в шаблоне. Но это было бы очень уродливым и (я думаю) неправильным способом сделать это. –