在另一个类中实例化时的dojo模块继承
鉴于以下情况: 父项有一个ParentsModule: 子对象扩展父对象。他有个孩子 ParentsModule做自己的事情。 ChildsModule扩展了ParentsModule。 不编辑“父项”,可以在另一个类中实例化时的dojo模块继承,dojo,ibm-content-navigator,Dojo,Ibm Content Navigator,鉴于以下情况: 父项有一个ParentsModule: 子对象扩展父对象。他有个孩子 ParentsModule做自己的事情。 ChildsModule扩展了ParentsModule。 不编辑“父项”,可以a.doThis(arg)调用ChildsModule.doThis() 我可以重写父函数中实例化的模块吗 someFunction有很多我想使用的代码。Parent(和ParentsModule)是提供给我的一个类,我是Child(和ChildsModule)的作者。首先重写正在加载的Pa
a.doThis(arg)代码>调用ChildsModule.doThis()
我可以重写父函数中实例化的模块吗
someFunction有很多我想使用的代码。Parent(和ParentsModule)是提供给我的一个类,我是Child(和ChildsModule)的作者。首先重写正在加载的ParentsModule,然后改为加载ChildsModule如何?当然,这将适用于所有试图实例化ParentsModule的代码-不确定这是否是一个问题
var-dojoConfig={path:{'orig_-code/ParentsModule':'new_-code/ChildsModule'}代码>
如果你不熟悉dojoConfig;在加载dojo之前,需要将其放置在某个位置。如果您已经有一个,只需将paths对象添加到其中。hmmm不确定是否可以在加载dojo之前插入。我正在为包含ParentsModule(和Parent)的产品开发一个插件。所以我相信我的插件js会在加载dojo之后加载。
define([ParentsModule,...],
function(ParentsModule,...) {
return declare("Parent", ..., {
someFunction: function(arg) {
var a = new ParentsModule();
a.doThis(arg);
},
...
)};
});
define([ChildsModule,Parent,...],
function(ChildsModule,Parent,... ) {
return declare("Child", [Parent], {
someFunction: function(arg) {
this.inherited(arguments);
},
...
)};
});
define([ParentsModule,...],
function(ParentsModule,... ) {
return declare("ChildsModule", [ParentsModule], {
doThis: function(arg) {
//bunch of stuff happens here.
},
...
)};
});
define([...],
function(...) {
return declare("ParentsModule",..., {
doThis: function(arg) {
return;
},
...
)};
});