作为我上一个问题的答案,我了解到两个控制器之间的绑定是一种糟糕的设计。我试图通过事件处理来解决它。
App.TestView = Ember.CollectionView.extend({
tagName:'tbody',
contentBinding: 'this.controller.content',
itemViewClass: Em.View.extend({
templateName:'test',
classNameBindings:['selected:selected'],
selectedBinding: 'content.selected',
click: function(event){
var controller = this.get('controller');
this.resetSelection();
this.content.set('selected',true);
router = this.get('controller.target.router');
router.transitionTo('inc.index',this.content);
// just sends it to the parentView
controller.send('noHide',false);
}
})
});
App.MainMenuView = Em.View.extend({
noHide: function(event){
this.get('controller').set('isHidden',false);
}
})
但是现在我不知道如何将事件发送到其他视图或不是父视图的其他路由。当我单击表格的一行时,我只想切换隐藏的菜单项。