当前位置:  开发笔记 > 编程语言 > 正文

如何使用javascript和模板构建DOM?

如何解决《如何使用javascript和模板构建DOM?》经验,为你挑选了1个好方法。

我正在构建一个应用程序,其中大多数HTML是使用javascript构建的.DOM结构是使用从服务器发送的一些JSON数据结构构建的,然后客户端代码为该数据构建UI.

我目前的方法是遍历JSON数据结构,并调用script.aculo.us的Builder.node方法来构建DOM结构,然后将其附加到实际位于服务器发送的HTML中的某个元素.在此过程中,我正在向需要它们的各种元素注册事件监听器.这允许很大的灵活性,并允许非常动态的界面.

然而,我觉得它是不是很可持续的,因为该视图逻辑(即,DOM结构)被设置成紧密耦合到能走动的数据的代码,以及事件处理程序,并且被保存在内存中,以保持所述数据state,并能够将这些更改传回服务器.

是否有任何类似模板的解决方案可以让我将DOM结构与驱动应用程序的代码分开?目前,我唯一的库依赖项是prototype.js和script.aculo.us,所以我想避免引入任何大型库,但欢迎任何建议.

谢谢!

编辑:出于某种原因,Javascript支持哪些好的模板语言?当我输入这个问题时,小搜索结果中没有出现.但是,它确实显示在此处的"相关"侧栏中.

我将在那里阅读一些建议,如果我找到解决方案,我将结束这个问题.否则,我会澄清这个问题,理由是为什么这些解决方案对我不起作用.



1> keparo..:

有一些模板解决方案,但它们并没有比你已经做的更多.jQuery已经在这些方面做了一些工作,并且一些jQuery 插件已经成为解决方案.Prototype.js和其他人也有解决方案.

一些选项包括:

原型模板

Ajax页面

一般来说,Ext js有一些相当疯狂和欺骗的东西,包括一些模板,但你要添加另一个库.现在有很多图书馆被抛弃了,实现简单明了的自定义解决方案通常要简单得多.尝试自己创建一些DOM对象.如果您有JSON数据,请将其解析到内存中并通过函数运行它.它实际上是一个爆炸,很多人都在这样做.

旁注: 您正在做的事情可能是非常可持续和可维护的.请记住,当您发送HTML页面时,浏览器会将DOM结构放入内存中,其方式与javascript完全相同.我不特别推荐任何这些解决方案.听起来你已经为你的特定需求制作了一个漂亮的小系统,我通常会说,改进你的设计至少与转移到别人的模式一样有价值,并且能够创造一些你自己的依赖.

旁注: 这是一般不建议生成整个DOM在客户端上,至少对许多市场.有时这是一个A-OK解决方案,因为它可能在你的情况下,但值得注意的是,这种发展方式并不总是最好的旅行方式.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有