dijit.Dialogを拡張し、テンプレートを追加しています。
定義([ "dojo / _base / describe"、 「dijit/Dialog」、 "dijit / _TemplatedMixin"、 "dijit / _WidgetsInTemplateMixin"、 "dojo / data / ItemFileWriteStore"、 "dojo / text!ps / templates / PrintDialog.html"、 "dijit / form / ComboBox"、 「dijit/form / Button」、 「dojox/widget / Standby」、 "dojox / layout / TableContainer"、 「dijit/form/CheckBox」 ]、関数(declare、Dialog、TemplatedMixin、_WidgetsInTemplateMixin、ItemFileWriteStore、template){ 戻り値declare( "ps.PrintDialog"、[Dialog、TemplatedMixin、_WidgetsInTemplateMixin]、{ templateString:template、 widgetsInTemplate:true、
私のテンプレートでは:
<select data-dojo-type = "dijit.form.ComboBox" id = "format" name = "format" data-dojo-attach-point = "formatCombo" title = "Format">
<select data-dojo-type = "dijit.form.ComboBox" id = "layout" name = "layout" data-dojo-attach-point = "layoutCombo" title = "Layout">
アタッチポイントの使用法は次のとおりです。
this.formatCombo.attr('store'、this.formatStore); this.layoutCombo.attr('store'、this.layoutStore);
これで、初めて新しいダイアログを作成するときに、正常に機能します。次にダイアログを閉じて新しいダイアログを作成すると、this.formatComboとthis.layoutComboが未定義になり、コードが失敗します。