我有一个名为 stat.widget.Weekly
的小部件,它是一个_Container
,它require
stat.widget.Daily
Daily
但是每当我使用new Daily()
时,我都会得到
Uncaught TypeError: undefined is not a function
我的代码是这样的
require([
"dojo/_base/declare", "dojo/parser", ..., "stat/widget/Daily", "dijit/_Container"
], function(declare, ... , _WidgetBase, _TemplatedMixin, Daily, _Container){
declare("stat.widget.Weekly", [_WidgetBase, _TemplatedMixin, _Container], {
....
update: function(){
new Daily();//< Fires Error
},
postCreate: function(){
var self = this;
setTimeout(function(){
self.update();
}, 500);
}
});
});
但是这个stat/widget/Daily
可以在控制台中实例化,new
如果你的 stat.widget.Weekly 放在 stat-Modulepath/widget/Daily.js 下的文件中,那么在类加载器中处理此语法会更流畅:
define([ // using define instead of require
"dojo/_base/declare", "dojo/parser", ..., "stat/widget/Daily", "dijit/_Container"
], function(declare, ... , _WidgetBase, _TemplatedMixin, Daily, _Container){
var myPrivates = declare("stat.widget._WeeklyResource", [], {
...
});
var myDefinition = declare("stat.widget.Weekly", [_WidgetBase, _TemplatedMixin, _Container], {
...
});
// returning the definition
return myDefinition;
});