0
得到事件我有一個按鈕,一個非常簡單的模板,我正在使用的js文件模板,但我不能得到的情況下,在控制檯我能夠得到第一控制檯輸出「1」,但沒能獲得其他兩個控制檯輸出,控制檯顯示以下錯誤:無法從按鈕從模板道場
"TypeError: undefined is not a function↵ at declare.postCreate (http://localhost:8383/mysite/pages/pathsubscriber/widget/subscribersPage.js:30:29)
這裏是我的subscriberspage.js:
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_OnDijitClickMixin",
"dijit/_TemplatedMixin",
"dojo/text!./templates/subscribersPage.html",
"dijit/form/Form",
"dijit/form/TextBox",
"dijit/form/Button",
"dojo/on",
"dojo/dom",
"dojo/_base/lang"
], function(declare, _WidgetBase, _OnDijitClickMixin, _TemplatedMixin,
template, form, textbox, button, on, dom, lang) {
console.log("from 1");
return declare([_WidgetBase, _OnDijitClickMixin, _TemplatedMixin
], {
templateString: template,
postCreate: function() {
this.inherited(arguments);
this.formButton.on('click', lang.hitch(this, function(event) {
console.log("form 2");
}));
on(this.formButton, 'click', lang.hitch(this, function(event) {
console.log("from 3");
}));
}
});
});
這裏是我的模板:
<div>
<input type="text" name="field1" data-dojo-type="dijit/form/TextBox" />
<input type="password" name="field2" data-dojo-type="dijit/form/TextBox" />
<button type="button" data-dojo-attach-point = "formButton" data-dojo-type="dijit/form/Button" >Login</button>
</div>
我是新來的道場,我不能夠從第一天找出問題。
我認爲你需要將'_WidgetsInTemplateMixin'類添加到你的js文件'define()'調用像'define(...,「dijit/_TemplatedMixin」,「dijit/_WidgetsInTemplateMixin」,...)'。究其原因是你的模板中包含Dojo小部件。我也是新來的道場。文檔不夠精確和清晰。希望它有幫助 – frank
我缺少dijit/_WidgetsInTemplateMixin,感謝您指出。 – focode