0

私はそれと呼ばれるウィジェットを持っていますそしてそれstat.widget.Weeklyは次のようですしかし私が使うときはいつでも私は得ます_Containerrequirestat.widget.DailyDailynew 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

4

1 に答える 1

0

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;

});

于 2012-05-30T11:13:13.710 に答える