0
我有一个自定义小部件无法正常工作。它正在被实例化,但它不会调用postCreate
函数。我没有收到任何错误消息。dojo自定义小部件不会调用postCreate
我已删除从窗口小部件用于测试目的的任何额外的代码,这里是生成的代码:
define(["dojo/_base/declare",
"dojo/_base/lang",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojox/mobile/Button",
"dojo/text!pgonline/widgets/AttributeInspector/templates/AttributeInspector.html"],
function(declare,
lang,
_WidgetBase,
_TemplatedMixin,
_WidgetsInTemplateMixin,
Button,
template) {
return declare("AttributeInspector2", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
templateString : template,
baseClass : "AttributeInspector2",
postCreate : function() {
dojo.connect(this, "onBeforeTransitionIn", lang.hitch(this, this.onPageLoad));
},
onPageLoad : function() {
}
});
});
我可以告诉它被实例化,因为当我在Chrome的调试,我可以设置断点行:templateString : template
,它将在该断点处停止,但它不会停止在postCreate
函数内的代码的断点处。该模板本身是一个简单的HTML文件,其中包含几个div
和一个dojox.mobile.button
。
UPDATE:
下面是实例代码:
require(["pgonline/widgets/AttributeInspector2"], function(AttributeInspector) {
var att = new AttributeInspector({});
att.placeAt("attributeInspector");
att.startup();
});
请问你的widget类实例化?解析器?编程? – BuffaloBuffalo 2013-04-11 15:33:01
@BuffaloBuffalo - 我添加了实例代码的帖子。 – Brian 2013-04-11 15:38:08
你能在jsfiddle中模仿这种行为吗?我[设置这一个](http://jsfiddle.net/H7Zh8/39/)类似于你的(不同的事件处理程序和模块,但相同的部件设置和实例化),并按预期工作。 – Default 2013-04-11 15:55:14