我有使用dojo.declare()創建的類。有時候,我想添加另一個模塊(也是使用dojo.declare創建的),但是當我這樣做時,它似乎不成爲第一類的一部分。在Dojo類上調用構造函數使用dojo.extend擴展
這裏有一個簡單的例子:
dojo.declare('class1',
null,
{
constructor: function()
{
console.log('class1 constructor');
this.inherited(arguments);
}
}
);
dojo.declare('class2',
null,
{
constructor: function()
{
console.log('class2 constructor');
}
}
);
dojo.extend(class1, class2);
var myclass = new class1();
你可以看到這裏的jsfiddle:http://jsfiddle.net/jdvRX/
我的目標重複此功能:
dojo.declare('class2',
null,
{
_class2_prop: true,
constructor: function()
{
console.log('class2 constructor');
}
}
);
dojo.declare('class1',
class2, // class2 added as parent/mixin/module type thing
{
_class1_prop: true,
constructor: function()
{
console.log('class1 constructor');
}
}
);
但只是有時...基本上,我想動態添加到class1的dojo.declare()的第二個參數。取決於其他因素,可能使用或不使用class2。
在現實世界的版本中,每個類都在一個單獨的文件中,並加載了dojo.require()。
我在做什麼錯?
感謝