Создатель создает свои Ребенки. Каков наилучший способ вызова ClickedOnMyChild Creator, если нажать кнопку «Child»?Вызов родительского объекта Функция объекта
function Creator()
{
var c1 = new Child("Albert");
var c2 = new Child("Sarah");
var ClickedOnMyChild = function()
{
//alert name of child
}
}
function Child(name)
{
this.name = name;
function ClickHandler()
{
// a click on me, better call my Creator
}
}
Мои мысли до сих пор:
- статический Создатель (нет, мне нужны примеры)
- Trigger пользовательского события в ребенка (мой любимый до сих пор)
- Pass родительского экземпляра к ребенку (не является хорошей практикой)
Там нет "лучшего" способа, это зависит от ваших требований. Самым простым было бы просто 'c1.click = function() {...}', а затем вы просто нажимаете 'click' на ребенка, когда вам нужно. – Jon
Что плохого в опции 3? (Особенно, когда вы знаете, что дети должны иметь возможность сказать родителям что-то.) – nnnnnn
Если вы хотите, чтобы 'c1' и' c2' придерживались объекта 'Creator', они должны быть определены как' this.c1 ... 'и' this.c2 ... ' –