Допустим, у меня есть два элемента управления сценариями, а один элемент управления имеет другой дочерний элемент управления:
ParentControl : ScriptControl
{
ChildControl childControl;
}
Скрипт для контроля над детьми:
ChildControl = function(element)
{
ChildControl.initializeBase(this, [element]);
}
ChildControl.prototype =
{
callMethod: function()
{
return 'hi';
},
initialize: function()
{
ChildControl.callBaseMethod(this, 'initialize');
},
dispose: function()
{
ChildControl.callBaseMethod(this, 'dispose');
}
}
А на стороне скрипта я хочу вызвать метод для дочернего элемента управления:
ParentControl.prototype =
{
initialize: function()
{
this._childControl = $get(this._childControlID);
this._childControl.CallMethod();
ParentControl.callBaseMethod(this, 'initialize');
},
dispose: function()
{
ParentControl.callBaseMethod(this, 'dispose');
}
}
Проблема в том, что каждый раз, когда я пытаюсь это сказать, этот метод не найден или не поддерживается. Разве все методы в ChildControl не должны быть доступны для ParentControl?
Есть ли способ, которым я должен сделать метод общедоступным, чтобы ParentControl мог его видеть?
Обновление
Было бы возможно "напечатать" this._childControl?
Вот причина, по которой я спрашиваю ... Когда я использую Watch, система знает, что такое класс ChildControl, и я могу вызывать методы самого класса, однако я не могу вызвать те же методы из this._childControl объект. Можно подумать, что если дизайн класса (?) В памяти распознает существующий метод, и объект, созданный из этого класса, тоже будет.