qooxdoo:扩展 class
qooxdoo : Extend class
我正在尝试扩展 class "qx.ui.splitpane.Pane()" :
qx.Class.define("myProject.Pages.Management",{
extend : qx.ui.splitpane.Pane(),
construct : function(){
this.base(arguments);
},
members : {
}
});
但是,当我基于这个新的 class 创建一个对象并将其添加到我的主容器时,我得到一个 javascript 错误:"Uncaught TypeError: undefined is not a function"
var page = new myProject.Pages.Management();
mainContainer.add(page, {flex : 1});
我尝试直接从 master class 创建一个对象并将其添加到主容器并且一切正常:
var page = new qx.ui.splitpane.Pane();
mainContainer.add(page, {flex:1});
欢迎提出想法!提前致谢。
这是一个简单的单元测试,可以说明您可能遇到的问题:
qx.Class.define("one.simple.BadSyntaxTest",
{
extend : qx.dev.unit.TestCase,
include: [qx.dev.unit.MMock],
members :
{
"test: 00. extends clause should not be function call": function()
{
qx.Class.define("my.test.ObjectType", {
extend: qx.core.Object(),
members: {
}
});
var stupidObject = new my.test.ObjectType();
}
}
});
失败了。如果你替换
extend: qx.core.Object(),
和
extend: qx.core.Object,
它通过了。
我正在尝试扩展 class "qx.ui.splitpane.Pane()" :
qx.Class.define("myProject.Pages.Management",{
extend : qx.ui.splitpane.Pane(),
construct : function(){
this.base(arguments);
},
members : {
}
});
但是,当我基于这个新的 class 创建一个对象并将其添加到我的主容器时,我得到一个 javascript 错误:"Uncaught TypeError: undefined is not a function"
var page = new myProject.Pages.Management();
mainContainer.add(page, {flex : 1});
我尝试直接从 master class 创建一个对象并将其添加到主容器并且一切正常:
var page = new qx.ui.splitpane.Pane();
mainContainer.add(page, {flex:1});
欢迎提出想法!提前致谢。
这是一个简单的单元测试,可以说明您可能遇到的问题:
qx.Class.define("one.simple.BadSyntaxTest",
{
extend : qx.dev.unit.TestCase,
include: [qx.dev.unit.MMock],
members :
{
"test: 00. extends clause should not be function call": function()
{
qx.Class.define("my.test.ObjectType", {
extend: qx.core.Object(),
members: {
}
});
var stupidObject = new my.test.ObjectType();
}
}
});
失败了。如果你替换
extend: qx.core.Object(),
和
extend: qx.core.Object,
它通过了。