我正在制作一个小的道场(widget),基本上是扩展对话框(widget),并想添加简单的小部件,如文本输入和几个标签等。我该怎么做?我正在按照教程进行操作,
Dojo如何制作小部件
请帮忙。
谢谢
谢谢
首先,我不擅长英语,但我会尽力而为。
这是我的小部件的路径。
这里是必须声明的js文件中的重要代码。
dojo.provide("gissoft.dijit.widgetOam");
dojo.require("dojo.parser");
dojo.require("dijit._Widget");
dojo.require("dijit._Templated");
dojo.declare("gissoft.dijit.widgetOam", [dijit._Widget, dijit._Templated], {
widgetsInTemplate: true,
basePath: dojo.moduleUrl("gissoft.dijit"),
templatePath: dojo.moduleUrl("gissoft.dijit", "templates/widgetOam.html"),
constructor: function () {
},
postMixInProperties: function () {
},
postCreate: function () {
},
startup: function () {
}
});
在文件widgetOam.html中(模板路径)
<div> <!-- do not add tag <html> , <head> , <body> but must have <div> first -->
Hello World.
</div>
<script>
djConfig = {
parseOnLoad: true,
baseUrl: './',
modulePaths: { 'gissoft.dijit': 'js/gissoft/dijit' }
};
</script>
在正文中
<body class="tundra">
<form id="form1" runat="server">
<div>
<div data-dojo-type="gissoft.dijit.widgetOam"></div>
</div>
</form>
</body>
dojo.provide("gissoft.dijit.widgetOam");
dojo.require("dijit.form.Button"); //<- this the standard widget you want to have in your widget
dojo.require("dojo.parser");
dojo.require("dijit._Widget");
dojo.require("dijit._Templated");
dojo.declare("gissoft.dijit.widgetOam", [dijit._Widget, dijit._Templated], {
widgetsInTemplate: true,
basePath: dojo.moduleUrl("gissoft.dijit"),
templatePath: dojo.moduleUrl("gissoft.dijit", "templates/widgetOam.html"),
<div> <!-- do not add tag <html> , <head> , <body> but must have <div> first -->
<button data-dojo-type="dijit.form.Button" type="button" data-dojo-attach-point="_innerWidget" data-dojo-attach-event="ondijitclick:_onClick">Yo!</button>
</div>
dojoAttachPoint非常有用,因为您可以在小部件的实现中立即获取对此小部件的引用,而无需通过dijit.byId('')获取引用。
希望这可以帮助您。
declare("_MyCustomWidgetContainer", ...)
,它在其this.domNode
中有一个ul
,并且我已经声明了declare("_MyCustomWidgetItem", ...)
(它被拆分为一个li
),我想将其插入到该ul
中。 - Neel Basu