我最近在 YUI and node 上观看了 Dav Glass 的演讲,小部件的服务器端渲染让我特别感兴趣。
我想做类似的事情,同时仍然能够在客户端的小部件中使用 javascript。我面临的问题是如何在页面加载后运行与小部件相关的代码(添加点击事件等)。
一种方法是为每个小部件编写一个初始化函数,然后将其转换为字符串并将其与渲染的 html 一起放入脚本标签中,但我认为这不是一个非常漂亮的解决方案.
谁能想到更好的解决方案吗?
最佳答案
您考虑过使用 Dojo 吗?它还有一个很棒的小部件系统,可以从 html 中解析出小部件。
滚动您自己的小部件系统会遇到很多复杂情况,而在 Dojo 上构建将为您提供大量出色的组件。
您只需在 dojo 脚本标记中设置 dojo djConfig="parseOnLoad:true",dojo 就会为您解析您的小部件。
您还可以制作自己的小部件,并在小部件 postCreate 方法中执行一些自定义初始化操作,这就像您提到的 init 方法。
有关 Dojo 小部件方法的更多信息,请参阅此页面:http://dojotoolkit.org/reference-guide/dijit/_Widget.html
我已经构建了很多自己的 Dojo 小部件,并且非常喜欢这个框架。
关于dom - 在 Node.js 中生成 javascript 以供客户端使用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4969965/