Найти Backbone.js View, если вы знаете модель?
Учитывая страницу, которая использует Backbone.js для привязки коллекции к представлению (RowsView
создает<ul>
) который создает подпункты просмотра (RowView
создает<li>
) для каждой модели в коллекции у меня возникла проблема с настройкой встроенного редактирования для этих моделей в коллекции.
Я создалedit()
метод наRowView
вид, который заменяетli
содержимое с текстовым полем, и если пользователь нажимаетtab
в то время как в этом текстовом поле я хотел бы вызватьedit()
Способ следующего просмотра в списке.
Я могу получить модель следующей модели в коллекции:
// within a RowView 'keydown' event handler
var myIndex = this.model.collection.indexOf(this.model);
var nextModel = this.model.collection.at(myIndex+1);
Но вопрос в том, как найти представление, которое прикреплено к этой модели. РодительRowsView
View не сохраняет ссылку на все дочерние виды; это & APOS; srender()
метод просто:
this.$el.html(''); // Clear
this.model.each(function (model) {
this.$el.append(new RowView({ model:model} ).render().el);
}, this);
Нужно ли переписать его, чтобы сохранить отдельный массив указателей на всеRowView
есть ли под ним? Или есть разумный способ найти представление, к которому прикреплена известная модель?
Вот jsFiddle всей проблемы:http://jsfiddle.net/midnightlightning/G4NeJ/