3
我想使用qx-oo(Qooxdoo)作爲OOP庫。但是我被野外成員的奇怪行爲困惑了。它看起來像一個類的所有對象之間共享字段,如靜態成員。例如,該測試代碼字段在Qooxdoo庫中作爲靜態字段
qx.Class.define("com.BaseClass",
{
extend : qx.core.Object,
members:
{
_children: [],
getChildrenCount: function(){
return this._children.length;
},
addChild: function(child){
this._children.push(child);
}
}
});
var class1 = new com.BaseClass();
var class2 = new com.BaseClass();
showLog("class1.getChildrenCount() - " + class1.getChildrenCount())
showLog("class2.getChildrenCount() - " + class2.getChildrenCount())
class1.addChild("somechild");
showLog("class1.getChildrenCount() - " + class1.getChildrenCount())
showLog("class2.getChildrenCount() - " + class2.getChildrenCount())
會產生這樣的日誌
class1.getChildrenCount() - 0
class2.getChildrenCount() - 0
class1.getChildrenCount() - 1
class2.getChildrenCount() - 1
有沒有辦法做到這一點?
或者你可以建議另一個OOP-js-lib?
這是一個完整的example。
是的,謝謝。我在手冊中跳過了重要的解釋。 – arusland
@Christian這是一個美妙的答案,謝謝你! – blong