Я пытаюсь создать несколько объектов, как это:свойство Javascript существует и область применения
Object_level_1 = Ext.extend (Ext.util.Observable, {
PropA: null,
ProbB: null,
initComponent: function() {
Object_level_1.superclass.initComponent.call();
},
setValue: function (name, value) { // it will come as 'PropA', 45
if (this.hasOwnProperty (name)) { // ' fixed base on dtan answer
// here is a problem 1
// how I can access correct property and set it up
// problem 2
// How I set up property value of right property by having variable name
this.fireEvent ('Update_on_level_1');
}
}
}
Object_level_2 = Ext.extend (Object_level_1, {
PropC: null,
ProbD: null,
initComponent: function() {
Object_level_1.superclass.initComponent.call();
},
setValue: function (name, value) { // it will come as 'PropA', 45 or 'PropC', 100
Object_level_2.superclass.setValue (name, value);
if (this.hasOwnProperty (name)) { // ' fixed base on dtan answer
// here is a problem 1 again
// how I can access correct property and set it up
// problem 2 again
// How I set up property value of right property by having variable name
this.fireEvent ('Update_on_level_2');
}
}
}
ли кто-нибудь знает решение?
Проверка 'this [name]' не для слабых мест IE. Объект может иметь свойство, но значение свойства может быть нулевым. Однако проверка 'this [name]' будет 'false' также, если свойство не равно null, но равно числовому нулю, логическому значению' false' или пустой строке. Таким образом, это может быть или не быть желательным здесь. – Pointy
Кажется, что-то началось: var xxx = new Object_level_2 ({}); xxx.setValue ('PropA', 345678); - fireEvent level_1 xxx.setValue ('PropD', 345678); - НЕ стрелятьEvent level_2 ??? – bensiu
эти строки: 'Object_level_1.superclass.initComponent.call()' не должно иметь пробела после 'call'. не уверен, что это связано с тем, что это не работает. Кроме того, определяется ли это '' 'правильному объекту? – hellatan