Znajdź Backbone.js Zobacz, czy znasz model?
Biorąc pod uwagę stronę, która używa Backbone.js, aby Kolekcja była powiązana z Widokiem (RowsView
, tworzy a<ul>
), który tworzy sub Widoki (RowView
, tworzy<li>
) dla każdego modelu w kolekcji mam problem z ustawieniem edycji bezpośredniej dla tych modeli w kolekcji.
Stworzyłemedit()
metoda naRowView
widok, który zastępuje widokli
zawartość z polem tekstowym, a jeśli użytkownik naciśnietab
będąc w tym polu tekstowym, chciałbym uruchomićedit()
metoda następnego widoku na liście.
Mogę uzyskać model następnego modelu w kolekcji:
// within a RowView 'keydown' event handler
var myIndex = this.model.collection.indexOf(this.model);
var nextModel = this.model.collection.at(myIndex+1);
Ale pytanie brzmi, jak znaleźć Widok dołączony do tego Modelu. RodzicRowsView
Widok nie zawiera odniesienia do wszystkich widoków dzieci; jegorender()
metoda to:
this.$el.html(''); // Clear
this.model.each(function (model) {
this.$el.append(new RowView({ model:model} ).render().el);
}, this);
Czy muszę go przepisać, aby zachować oddzielną tablicę wskaźników do wszystkichRowView
s ma pod nim? Czy też istnieje sprytny sposób na znalezienie Widoku, do którego dołączono znany Model?
Oto jsFiddle całego problemu:http://jsfiddle.net/midnightlightning/G4NeJ/