Это образец, который я гавань использовали:
в глобальном пространстве имен (App) определить отправитель событий
App.Dispatcher = _.clone(Backbone.Events);
в View2, вы выпадающий не хочет view1 доступа. Я не уверен, что вы хотите сделать здесь, но я предполагаю, что вы хотите, чтобы что-то случилось с комбинированными полями, когда кнопка/выпадающее меню нажата в view2.
так, для этого, на ваш взгляд2.
view2 = Backbone.View.extend({
//other view stuff
events: {
'click button': 'onClickButton'
},
onClickButton: function() {
App.Dispatcher.trigger('buttonClicked', [event params you wanna pass]);
}
});
и сверху1.
view1 = Backbone.View.extend({
//other view stuff
initialize: function() {
//other view initialize suff
App.Dispatcher.on('buttonClicked', this.handleButtionClicked, this);
},
handleButtionClicked: function() {
//do stuff to combo boxes
}
});
в основном, идея, когда вы нажимаете на кнопку в View2, view2 уведомляет это событие через глобальную App.Dispatcher. и view1 подписывается на это событие в App.Dispatcher, и когда он запускается, view1 должен знать, как его обрабатывать.
Я только что прошел - http://www.benknowscode.com/2013/01/managing-events-between-multiple_3253.html. Лучше ли вариант2? Или Мэрионетта это то, что с ней лучше? – skumar