Показать сообщение отдельно
  #1 (permalink)  
Старый 14.04.2012, 20:15
Аватар для Mirror13
Новичок на форуме
Отправить личное сообщение для Mirror13 Посмотреть профиль Найти все сообщения от Mirror13
 
Регистрация: 14.04.2012
Сообщений: 9

Ненужное переопределение this во вложенных объектах
Добрый день!

Ситуация вот какая. Есть базовый объект View:
var View = function()
{
}

View.prototype = $('<div />');
View.prototype.parent = {};
View.prototype.constructor = View;


И два дочерних объекта - к примеру, ViewA и ViewB:
var ViewA = function()
{
    this.parent.constructor.call(this);
}

ViewA.prototype = new View();
ViewA.prototype.parent = new View();
ViewA.prototype.constructor = ViewA;

ViewA.prototype._viewBInstance = null;


var ViewB = function()
{
    this.parent.constructor.call(this);
}

ViewB.prototype = new View();
ViewB.prototype.parent = new View();
ViewB.prototype.constructor = ViewB;


И вот, при попытке сделать внутри ViewA такую операцию:
this._viewBInstance = new ViewB();

внутри конструктора ViewB переменная this ссылается на экземпляр ViewA, внутри которого это делается.

Это просто поставило меня в тупик, и теперь я не знаю, как жить дальше.
Ответить с цитированием