Я новичок в Backbone, и я еще не совсем понял его, и я столкнулся с ситуацией, в которой я не могу найти документацию. Что я, если у меня есть представление, которое содержит несколько просмотров? Например, у меня есть вид, называемый StackView
. Цель этого взгляда - аккуратно выложить набор карточек. Он управляет анимацией добавления, удаления и настройки карт в стеке. Каждая карта - CardView
. Как бы я справился с этим? Я видел, как люди говорили о представлениях в представлениях, просто создавая переменную в представлении и назначая экземпляр View этой переменной. Должен ли я просто добавлять массив из CardView
s в переменную StackView
?Как обрабатывать несколько видов в одном представлении с помощью backbonejs
4
A
ответ
1
Это то, что я делаю, и оно работает хорошо. Вот фрагмент View I, который я использую в приложении. Я переписал его обратно в обычную JavaScript из моего CoffeeScript, поэтому прошу прощения за любые опечатки:
render: function() {
var _this = this;
this.$el.html(this.template());
this.listItemViews = [];
// for each model in the collection, create a new sub-view and add
// it to the parent view
this.collection.each(function(model){
var view = new App.Views.Projects.ListItem({model:model}); // create the new sub-view
_this.listItemViews.push(view); // add it to the array
_this.$('#project-table tbody').append(view.render().$el); // append its rendered element to the parent view's DOM
});
return this;
}
Это позволяет моему Табличные сохранить ссылку на все listItemView
взглядов.
Конечно, если вы сделаете это, вы должны правильно удалить эти дочерние представления и отменить любые события при удалении родительского представления.
Смежные вопросы
- 1. BackboneJS - Несколько коллекций в одном представлении
- 2. Несколько видов выбора на одном представлении
- 3. BackboneJS: Как назначить несколько моделей в одном представлении
- 4. Практическое руководство. Несколько видов деятельности в одном представлении?
- 5. Несколько видов в одном окне
- 6. Несколько видов _form на одном представлении создания [Yii]
- 7. несколько видов в одном макете
- 8. KnockOutJS - Несколько ViewModels в одном представлении
- 9. Несколько PickerViews в одном представлении?
- 10. Несколько таблиц в одном представлении?
- 11. Просмотров: в том числе нескольких видов в одном представлении
- 12. Разработка iPhone - несколько видов в одном окне.
- 13. Несколько моделей в одном представлении
- 14. Несколько MPMoviePlayerController в одном представлении
- 15. Несколько предупреждений в одном представлении?
- 16. Несколько resouces в одном представлении
- 17. Несколько моделей в одном представлении
- 18. Несколько видов в одном XIB - iPhone SDK
- 19. Несколько таблиц в одном представлении
- 20. Как обрабатывать событие через несколько уровней subview в BackboneJS
- 21. Несколько обработчиков маршрутов в backbonejs
- 22. Несколько видов в проекте
- 23. Несколько видов Split в одном приложении
- 24. Как отображать несколько видеороликов в одном представлении?
- 25. том, как несколько моделей в одном представлении
- 26. Как получить несколько коллекций в одном представлении
- 27. Соединение двух видов в одном
- 28. Несколько обновляемых частичных представлений в одном представлении
- 29. Как обрабатывать несколько массивов в одном диапазоне?
- 30. Как я могу получить несколько видов коллекций в одном представлении контроллера?
Два предложения: (1) не использовать 'var self', использовать что-то еще (например,' _this') или аргумент 'context' для [' _.each'] (http: //documentcloud.github .com/underscore/# each), ['window.self'] (https://developer.mozilla.org/en/DOM/window.self) всегда вокруг, поэтому' self' может вызвать путаницу (да, я узнал это трудный путь); (2) коллекции имеют некоторые методы [Underscore mixed] (http://documentcloud.github.com/backbone/#Collection-Underscore-Methods), поэтому 'this.collection.each (function (model) {...}) 'работает. –
спасибо; хорошая вещь. я буду обновлять свой код (и этот ответ) соответственно – jackwanders
wait a sec. поэтому у меня есть множество представлений. Я отобразил их на странице. мой родительский класс 'Stack' должен иметь возможность вызывать функцию в subview при щелчке по элементу подзаголовка. Как я могу это сделать? Вот сценарий: класс 'CardView' имеет функцию' showActionMode() '. Эта функция будет работать только при действии actionModeEnabled. Он недействителен, пока вы не нажмете на него в стеке, и в этом случае стек должен разместить границу фокусировки на элементе и вызвать метод enableActionMode. – LordZardeck