如何自定义现有的Dojo小部件?我正在使用dojo 1.3版。在以前的版本中,我们在templates文件夹下有html文件。我是否需要直接编辑源代码。 我需要为Accordion小部件添加一个图像。有人可以帮我定制吗?
提前致谢。
答案 0 :(得分:3)
首先,从dojo库中获取现有模板。这将是你的起点。
然后,创建自己的小部件,该小部件继承自AccordionContainer,但指定您自己的html模板:
dojo.declare("MyWidgets.Accordion", dijit.layout.AccordionContainer, {
templatePath: dojo.moduleUrl("MyWidgets","Accordion.html");
});
(dojo.moduleUrl是一种指定文件夹路径的好方法,因此当您打包最终产品时,dojo库可以找到并内联它们。)
这样,您可以保留原始源,但可以设置自己的html并根据需要覆盖任何方法。
答案 1 :(得分:1)
templates folders中的HTML模板仍然存在。您只需下载source release即可。根据您的需要,您可以1)设置内容adding children,2)write custom widget继承它或3)将其用作复合小部件的一部分。以Dojo方式继承很简单:
dojo.declare("my.Accordion", dijit.layout.AccordionContainer, {
// your methods...
});
答案 2 :(得分:0)
我认为你可以扩展现有的小部件,而不是修改它。