私は持っていPhotoCardView
ます:
var PhotoCardView = Backbone.View.extend({
initialize: function() { this.render(); },
events: { 'click img': 'activateItem' },
activateItem: function(e) {
e.preventDefault();
bus.trigger('switchToFullScreen', {activatorId: this.model.get('id')});
}
// ...
および親PhotosListView
:
var PhotosListView = Backbone.View.extend({
initialize: function() {
bus.on('switchToFullScreen', function(args) {
this.switchToFullScreen(args);
}, this);
this.render();
},
switchToFullScreen: function(args) {
new ImageGalleryView({
activatorId: args.activatorId,
collection: this.collection
});
},
// ...
リスト ビューは、アプリケーション ルート ハンドラの 1 つで処理されます。
sampleRouteHandler: function(param1, param2, param3) {
// ...
photosList.fetch({
success: function() {
var photosListView = new PhotosListView({
collection: photosList,
page: p
});
$('#content').append(photosListView.el);
// ...
ここで説明されているように、子ビューと親ビューを「強制終了」するコードを追加したと想像してくださいBackbone.js - すべてのサブビューを削除します
しかし、どこでこれを開始すればよいでしょうか? また、イベントバスで処理する方法もわかりません。