У меня есть собственный виджет, который работает неправильно. Он создается, но не вызывает функцию 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();
});
Как ваш класс виджета получить реализованные? Parser? Программный? – BuffaloBuffalo
@BuffaloBuffalo - Я добавил код для создания сообщения. – Brian
Можете ли вы подражать этому поведению в jsfiddle? Я [устанавливаю этот вариант] (http://jsfiddle.net/H7Zh8/39/) аналогично вашему (другому обработчику событий и модулю, но тем же настройкам виджета и созданию экземпляра), и он работает так, как ожидалось. – Default