混入#不是调用构造函数
问题描述:
下面是我的代码来创建一个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);
答
这个错误说有循环依赖。你应该使用dojo.exports(https://dojotoolkit.org/documentation/tutorials/1.7/modules/)来解决这个问题。
感谢您的回复,但我使用的是Dojo工具包和ICN小部件库的模块,所以我如何删除循环依赖项,请协助。 – monica13880
你真的必须检查你的任何模块没有循环依赖。它唯一干净的方式 – xamiro