我试图为我的网站创建自定义小部件。当我加载页面它说: mixin#0不是一个可调用的构造函数。 clsInfo.cls.prototype未定义 我找不到关于clsInfo的任何信息,所以我不知道它是什么。也许我从谷歌使用道场的问题:初始化dojo小部件
和我自己的脚本位于本地主机上。所以当我页面上的dojo初始化某些东西出错了我的脚本。我无法找到关于道场的任何好的信息,也许我在错误的地方搜索? 请帮我解决我的问题
我试图为我的网站创建自定义小部件。当我加载页面它说: mixin#0不是一个可调用的构造函数。 clsInfo.cls.prototype未定义 我找不到关于clsInfo的任何信息,所以我不知道它是什么。也许我从谷歌使用道场的问题:初始化dojo小部件
和我自己的脚本位于本地主机上。所以当我页面上的dojo初始化某些东西出错了我的脚本。我无法找到关于道场的任何好的信息,也许我在错误的地方搜索? 请帮我解决我的问题
你确定Dojo正在加载吗?你把你的代码放在dojo.addOnLoad()中吗?在使用CDN时,您有时会遇到执行时间问题。 dojo.addOnLoad()不仅会在DOM加载时触发,而且会在dojo资源下载时调用,如dijit._Widget。
我试图重写dijit.Dialog时遇到了这个问题,所以我可以将事件绑定到其中的控件。我们还没有看到绑定部分是否可以工作,但是如果你看看源代码,当第二个参数传入的基础之一未能解析为“[Object function]”时会发生这种情况。就我而言,我传递一个字符串
dojo.declare接受3个参数:
所以,如果我要重写DIJ it.Dialog,我必须做的:
dojo.declare("myDialogType", [dijit.Dialog], {
function1() {/*Code*/},
function2() {/*Code*/}
}
我不得不[“dijit.Dialog”作为我的第二个参数,这就是问题所在。
我强烈建议使用Web Inspector或Firebug与Dojo库的非压缩本地副本而不是CDN来弄清楚发生了什么并调试这些类型的问题。 Dojo的文档很广泛,但在某些领域并不完整,有些行为需要通过查看代码期望得到。这对作者来说不是轻微的;一旦你得到它是一个非常棒的产品,并且任何志愿者工作的文档都会被赞赏。
我遇到了这个问题,当我搞砸了我的要求,这使得_WidgetBase
不是什么_WidgetBase
真的是。看起来像一个简单的地方搞砸了。
请发布(至少部分)您的小部件的dojo.declare声明。有人不太可能会用这几个信息来猜测你的问题。 – kioopi 2010-12-22 08:29:56