【问题标题】:dojo nested Custom Widget undefined not a functiondojo 嵌套的自定义小部件未定义不是函数
【发布时间】:2012-05-28 19:44:44
【问题描述】:

我有一个名为 stat.widget.Weekly 的小部件,它是 _Container,它是 requirestat.widget.Daily 作为 Daily 但每当我使用 new Daily() 时,我都会得到 ​​p>

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实例化

【问题讨论】:

    标签: dojo widget nested


    【解决方案1】:

    如果您的 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;
    

    });

    【讨论】:

      猜你喜欢
      • 2013-08-28
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2011-12-05
      • 2014-09-05
      • 1970-01-01
      相关资源
      最近更新 更多