1
我得到了三個js文件,AppView,NavigationMenuView和HeaderView。Famo.us將事件傳遞給另一個視圖
我想在NavigationMenuView中按下按鈕時將事件發送到My HeaderView。這是我到目前爲止。當我在導航視圖中點擊按鈕時,會發出一個名爲「設置」的事件。然後Appview捕捉事件。我很難嘗試將此事件傳遞給HeaderVew。 代碼如下。
由於
APPVIEW代碼
function AppView() {
View.apply(this, arguments);
this.menuToggle = false;
CreateHeaderView.call(this);
CreateNavigatinMenuView.call(this);
SetListeners.call(this);
}
AppView.prototype = Object.create(View.prototype);
AppView.prototype.constructor = AppView;
function CreateHeaderView() {
this.HeaderView = new HeaderView();
this.HeaderModifier = new StateModifier();
this.add(this.HeaderModifier).add(this.HeaderView);
}
function CreateNavigatinMenuView() {
this.NavigationView = new NavigationMenuView();
this.NavigationViewModifier = new StateModifier();
this.NavigationViewModifier.setTransform(
Transform.translate(-dimensions[0], 0, 0), {}
);
this.add(this.NavigationViewModifier).add(this.NavigationView);
}
function SetListeners() {
this.NavigationView.on('settings', function() {
//HERE IS WHERE I WHOULD EMIT TO HEADER VIEW
}.bind(this.HeaderView));
}
module.exports = AppView;
});
APPVIEW
function SetListeners() {
this.settingsButton.on('click', function() {
this._eventOutput.emit('settings');
}.bind(this));
}
HeaderView
context.on('settings', function() {
alert("Test");
}.bind(this));