自定义Dojo小部件

时间:2009-09-29 10:47:54

标签: customization dojo

如何自定义现有的Dojo小部件?我正在使用dojo 1.3版。在以前的版本中,我们在templates文件夹下有html文件。我是否需要直接编辑源代码。 我需要为Accordion小部件添加一个图像。有人可以帮我定制吗?

提前致谢。

3 个答案:

答案 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)

我认为你可以扩展现有的小部件,而不是修改它。