我有一个无法正常工作的自定义小部件。它正在被实例化,但它不会调用该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
's 和一个dojox.mobile.button
.
更新:
下面是实例化代码:
require(["pgonline/widgets/AttributeInspector2"], function(AttributeInspector) {
var att = new AttributeInspector({});
att.placeAt("attributeInspector");
att.startup();
});