2016-03-03 124 views
1

下面是我的代码来创建一个Dojo小部件“app.ThirdWidget” 这大约是ICN的FileNet的浏览器小窗口混入#不是调用构造函数

require([ "dojo/_base/declare", 
      "dojo/dom-construct", 
      "dojo/parser", 
      "dojo/ready", 
      "dijit/_Widget", 
      "dijit/_Templated", 
      "ecm/widget/viewer/FilenetViewer", 
      "ecm/widget/dialog/ErrorDialog", 
      "ecm/model/Desktop", 
      "ecm/model/Repository"], 
      function (declare, domConstruct, parser, ready, _Widget, template, filenet,errorDialog, desktop, repository){ 
    declare ("app.ThirdWidget",[_Widget, template, filenet,errorDialog, desktop, repository],{ 

    documentID : '', 
    templateString: '<div >' + 
'<div data-dojo-attach-point="containerNode" > <span>third widget</span>' + 
'<div data-dojo-attach-point="filenetViewer" data-dojo-type="ecm.widget.viewer.FilenetViewer" style="width: 100%; height: 100%; position: absolute; margin: 0; overflow:hidden" isChildWindow="true"' + 
' showNextPrev="false" sideChrome="0"></div>' + 
'</div>', 
    constructor: function(){ 

    alert("Constructor"); 

    }, 

    postCreate : function(){ 
    alert("post Create"); 
    }, 

    startup: function(){ 
    alert("Start up"); 

      } 

    });// declare 

});// 

的包装,但我的萤火得到以下错误,请帮忙:

Error: declare app.ThirdWidget: mixin #4 is not a callable constructor. 


throw new Error("declare" + (cls ? " " + cls : "") + ": " + msg); 

回答

0

这个错误说有循环依赖。你应该使用dojo.exports(https://dojotoolkit.org/documentation/tutorials/1.7/modules/)来解决这个问题。

+0

感谢您的回复,但我使用的是Dojo工具包和ICN小部件库的模块,所以我如何删除循环依赖项,请协助。 – monica13880

+0

你真的必须检查你的任何模块没有循环依赖。它唯一干净的方式 – xamiro