2011-02-11 27 views
1

我最近觀看了Dav Glass在YUI and node上的演講,並且服務器端小部件渲染讓我特別感興趣。在node.js中生成用於客戶端的javascript的方法

我想做類似的事情,同時仍然可以在客戶端使用JavaScript的小部件。我面對的問題是如何在頁面加載後運行與窗口小部件相關的代碼(添加點擊事件等)。

這樣做的一種方式可能是爲每個窗口小部件編寫一個init函數,然後將其轉換爲字符串並將其與渲染的html一起放入腳本標記中,但我不認爲這是非常漂亮的解。

任何人都可以想到更好的解決方案嗎?

回答

1

您是否考慮過使用Dojo?它也有一個很棒的小部件系統,並且將這些小部件從html中解析出來。

滾動您自己的小部件系統會遇到很多併發症,您將遇到很多併發症,而在Dojo上構建會爲您提供大量優秀的組件。

您可以在dojo腳本標記中設置dojo djConfig =「parseOnLoad:true」,dojo會爲您解析您的小部件。

您還可以製作自己的小部件,並在小部件postCreate方法中執行一些自定義init的東西,這就像您提到的init方法。

更多有關Dojo小方法請參見本頁面:http://dojotoolkit.org/reference-guide/dijit/_Widget.html

我已經建了很多我自己的Dojo小部件,真正喜歡的框架。

+0

雖然這並不能完全解決我的問題(Dojo與開箱即用的節點不兼容),但它給了我一種解決方案的靈感。當頁面加載時,dojo遍歷dom樹尋找具有dojoType屬性的元素。如果該類型與某個小部件匹配,則會使用dom元素作爲參數調用小部件構造函數。 – Decko 2011-02-21 09:39:30

相關問題