DOJOで独自のウィジェットを作成すると、テンプレートファイルが提供されます。テンプレートファイルはdojo/text
モジュールを使用して読み込まれます。ウィジェットの典型的な構造はこのように書き:HTMLファイルの代わりに文字列テンプレートを使用する
<div class="someClass">
<div data-dojo-attach-point="titleNode" data-dojo-attach-event="onclick: clickAction">
Sample Content
</div>
</div>
我々は直接としてウィジェットにtemplateString
を提供する場合、それはパフォーマンスの面で違いを作成します。
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!./templates/SomeWidget.html"
], function(declare, _WidgetBase, _TemplatedMixin, template) {
return declare([_WidgetBase, _TemplatedMixin], {
templateString: template
});
});
HTMLテンプレートには、次のようになります文字列を読み込み、dojo/text
モジュール経由でロードしないでください。このように:
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!./templates/SomeWidget.html"
], function(declare, _WidgetBase, _TemplatedMixin, template) {
return declare([_WidgetBase, _TemplatedMixin], {
templateString: "<div class=\"someClass\"><div data-dojo-attach-point= \"titleNode\" data-dojo-attach-event= \"onclick: clickAction\">Sample Content</div></div>"
});
});
この変更によって、ページが以前のアプローチよりも高速に読み込まれる可能性がありますか?
違いを確認してみませんか? – trincot