Backbone.js 木偶触发法与listenTo
我有两个项目视图 第一个视图应该触发事件,第二个视图应该侦听触发器。我该怎么做呢 以下是我目前掌握的情况:Backbone.js 木偶触发法与listenTo,backbone.js,triggers,marionette,Backbone.js,Triggers,Marionette,我有两个项目视图 第一个视图应该触发事件,第二个视图应该侦听触发器。我该怎么做呢 以下是我目前掌握的情况: Branch.RecipeView = Marionette.ItemView.extend({ triggers: { 'change': 'recipe:selected' } }); 第二种观点如下: Branch.MetaDataView = Marionette.ItemView.extend({ template: _.temp
Branch.RecipeView = Marionette.ItemView.extend({
triggers: {
'change': 'recipe:selected'
}
});
第二种观点如下:
Branch.MetaDataView = Marionette.ItemView.extend({
template: _.template(
'<div id="branchImgSrc">' +
'</div>'
),
initialize: function () {
this.on('recipe:selected', function () {
console.log('selected');
});
}
});
Branch.MetaDataView=marionete.ItemView.extend({
模板:\ u0.template(
'' +
''
),
初始化:函数(){
this.on('recipe:selected',函数(){
console.log('selected');
});
}
});
我实例化了这两个视图并将它们添加到布局中,但ItemView one中的事件从未触发配方:ItemView 2中的selected
我是不是想错了 问题的答案取决于您是否希望
Branch.MetaDataView
存储对Branch.RecipeView
的引用,而不是使用一些外部机制进行事件消息传递
recipeView = new Branch.RecipeView();
Branch.MetaDataView = Marionette.ItemView.extend({
template: _.template(
'<div id="branchImgSrc">' +
'</div>'
),
initialize: function () {
this.listenTo(recipeView, 'recipe:selected', function () {
console.log('selected');
});
}
});
// Create a message bus
var myBus = _.extend({}, Backbone.Events);
// Listen in on the message bus
this.listenTo(myBus, 'some:event', myCallback);
// Trigger an event on the bus
myBus.trigger('some:event');