標題的措辭可能需要重新訪問,但現在考慮下面的代碼:我怎樣才能從一個孩子的父母?
var ParentControl = function()
{
this.ShowAlert = function()
{
alert('hi!');
}
this.childControl = new ChildControl();
};
var ChildControl = function()
{
// IN THIS SCOPE HERE I NEED TO CALL 'ShowAlert'
};
var parentControl = new ParentControl();
按在上面的代碼段的評論,我需要的ChildControl
實例調用「ShowAlert」功能他們的父母,但我不知道如何。
我已經試過
簡單地調用ParentControl.ShowAlert()
在那裏我已經寫了評論 - 顯然不能作爲parentControl
工作是實例(我不想提及這個明確)。
我也試過將父控件傳遞給ChildControl
的構造函數,但我最好想讓子控件獨立於任何特定類型的父類。
*「我希望保持孩子的控制與任何特定類型的父母無關」*在這種情況下,如何處理某種事件發佈者/訂閱模式? 'ChildControl'實例發出一個事件/消息,'ParentControl'實例對它作出反應。 –
@FelixKling - 這聽起來很理想。我知道我可以將這個事件暴露在孩子身上的this.somethingHappened上,但父母怎麼知道發生了什麼?或者我的方法錯了? –
我不是很擅長閱讀,並且仍然不明白剛剛在父類中傳遞'new ChildControl(this);'的問題是什麼? – adeneo