是否可以在 javascript/dojo 工具包中显式调用基本构造函数 设置构造函数参数(在继承类的构造函数之外)
dojo.provide("ClassA");
dojo.declare("ClassA", null,
{
constructor: function(text)
{
console.log(text);
}
});
dojo.provide("ClassB");
dojo.declare("ClassB", ClassA,
{
constructor: function()
{
// want to call the base constructor of Class A with "Hello "
console.log("world!");
}
});
我可以使用 this.inherited(arguments, ["Hello "]) 但这将产生对基本构造函数的两次调用(一次没有给定参数,一次有给定参数)。 (将产生以下输出:undefined\n"Hello "\n"world!")。
我已经尝试过使用以下方法:
dojo.mixin(this, "Hello");
dojo.safeMixin(this, "Hello");
dojo.mixin(ClassA, "Hello");
...
但我所做的所有事情似乎都调用了基本构造函数两次。有什么建议吗?
最佳答案
您需要关闭自动构造函数链接。看看here有关如何手动覆盖自动行为的示例。
关于javascript - Dojo 无参数构造函数调用带参数的基础构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752558/