Dojo vs JQuery 编程小部件创建

Posted

技术标签:

【中文标题】Dojo vs JQuery 编程小部件创建【英文标题】:Dojo vs JQuery programmatic widget creation 【发布时间】:2011-07-05 16:05:53 【问题描述】:

我最近对 ​​Dojo 进行了试验,并发现在标记中给定一个 dom 节点,我可以以面向对象的方式构建整个 UI 树,即以编程方式,而不必担心转义 id 和制作像数据一样的代码。我的问题是在 JQuery 中,是一样的可能。我的标记有一个根 div,其他所有内容都需要添加以响应某些程序事件。我听到了很多关于 JQuery 的好消息,并想知道我是否可以切换。有人可以提供一个例子或指针吗?

【问题讨论】:

您的意思是能够在 html 标记中的某个 DOM 节点上放置“dojoType”属性,并自动将其“解析”成丰富的 UI 对象?有很多用于 jQuery 的 UI 小部件,但 AFAIK 与 Dojo 提供的没有什么相似之处。您可能可以检查 jQuery UI 库... 斯蒂芬,我的主要 index.html 文档没有一个 div。可以使用附加点和模板 html 在 Dojo 中添加所有内容。编辑...也许你是对的。 【参考方案1】:

使用 jQuery 可以完成类似的事情,但是开箱即用的 jQuery 与 Dojo 所具有的可编程创建小部件的概念不同。 jQuery 提供的最接近的是 Widget Factory,它是 jQuery UI 的一部分——它有点类似于 Dojo 通过 dijit._Widget 提供的东西,但它不像 Dojo 那样提供模板化小部件的概念。您还会失去附加点和附加事件。

综上所述,您当然可以在运行时使用 jQuery 将内容附加到您的 DOM,而不是通过 HTML 创建您的 DOM。这样做的工具在 jQuery 中并不像在 Dojo 中那样全面。

【讨论】:

谢谢,是的,我一直在寻找这个答案。 Dojo 的附加点和模板字符串非常丰富。 开箱即用的 jQuery 不适用于 ui 小部件。但是有 jquery 模板,您也可以查看 jsRender 的模板。我发现 jquery ui 的小部件工厂非常好我不知道 dijit._Widget。但当然 jquery ui 组件还不足以与 dojo 相比。你总是需要寻找 jQuery 的插件。但是使用插件可以获得比dojo更好的效果。但是处理来自不同开发者的太多插件是一项艰巨的任务。

以上是关于Dojo vs JQuery 编程小部件创建的主要内容,如果未能解决你的问题,请参考以下文章

Dojo 1.9:当父窗口小部件启动时,placeAt 自动调用启动

dojo: 小部件已注册错误

以编程方式(但不是以声明方式)实例化小部件时出现 Dojo 重复 ID 错误

Dojo dijit.form.select:创建新的选择小部件后,旧小部件的选定值无法更改

访问模板化小部件外部的 dojo 附加点

Dojo Dijit - 小部件中的小部件