Показать сообщение отдельно
  #8 (permalink)  
Старый 06.07.2010, 16:23
Аспирант
Отправить личное сообщение для nikolaich Посмотреть профиль Найти все сообщения от nikolaich
 
Регистрация: 16.03.2009
Сообщений: 33

Появился еще один вопрос.
Создаю один класс. От него наследую второй. Во втором тремя способами прописываю свойство myArr.
Затем создаю объект первого класса. Вызываю метод. В первых двух вариантах выводит пустое сообщение. А в третьем, то что я занес в свойство myArr, когда создавал класс secondWindow.
Почему так?

firstWindow = new Ext.extend(Ext.Window,{
	myArr: [],
	width:200,
	height:200,
	initComponent: function(){	
		var config = {};
		
		firstWindow.superclass.initComponent.apply(this, arguments);
		Ext.apply(this, Ext.apply(this.initialConfig, config), firstWindow.superclass.initialConfig);
		
	}, // end init
	doAlert:function(){
		Ext.Msg.alert('test', this.myArr['0'] + this.myArr['1']);
	}
});

// создаю наследник
secondWindow = new Ext.extend(firstWindow,{
	initComponent: function(){	
		var config = {};
		
		// 1- й вариант работы с свойством в видем массива
		//var a = [];
		//a.push('first');
		//a.push(' test');
		//this.myArr = a;
		
		// 2-й вариант работы с свойством в видем массива		
		//this.myArr = ['second',' test'];
		
		// 3-й вариант работы с свойством в видем массива		
		this.myArr.push('third');
		this.myArr.push(' test');
		
		secondWindow.superclass.initComponent.apply(this, arguments);
		Ext.apply(this, Ext.apply(this.initialConfig, config), secondWindow.superclass.initialConfig);

	
	}
});

win = new firstWindow({});
	
Ext.onReady(function() {
	win.doAlert();
}
Ответить с цитированием