0
我嘗試在ExtJS中創建新對象時遇到了問題。首先我創建一個新對象,然後創建同一個類的另一個對象。在那個班裏,我有一個名爲'form'的財產。這個屬性的類型是'object'。我將在下面顯示:使用ExtJS創建對象時出錯
Ext.define('ExampleClass', {
extend: 'Ext.Component',
form: {
last: null
},
initComponent: function() {
if(this.form.last == null) {
this.form.last = this;
}
else {
console.log(this.form);
}
this.callParent(arguments);
}
});
的代碼很簡單。當我創建第一個對象時,確定。當我創建第二個對象時,控制檯顯示第一個對象(輸入else條件)。只有當我有一個對象作爲類的一個屬性時纔會發生這種情況。這可能是Ext的一個bug,或者我真的需要在每次創建新對象時克隆類中的所有對象?
換句話說,OP創建窗體的方式,它存儲在'ExampleClass'的原型中,並被所有實例共享。我從不向原型添加任何不是字符串,數字或布爾值的對象以避免此錯誤。 –
我現在正在我的所有應用程序中執行此操作。刪除所有不是字符串,數字或布爾值的屬性。感謝你的回答。 –
這不是一個錯誤,它只是繼承在JavaScript中的工作方式。參見http://jsfiddle.net/GseUG/一個簡單的例子。 (但是,這是我經常遇到的常見錯誤) – user123444555621