2012-02-10 79 views
5

通常我在jQuery世界中,我使用requirejs,backbone.js和jquery開發了一個wep應用程序。
爲了拓寬視野,我也開始使用Dojo。
在我開始使用Dojo之前,我在幾篇關於jQuery的博客中讀到的語句如下所示:「如果您使用一些JS效果創建正常的網站,則可以使用jQuery,但對於Web應用程序的東西,你應該使用Dojo「。
所以,正因爲如此,當我開始使用Dojo(1.7)時,我非常想知道它的Web應用程序開發解決方案。
讓我感到驚訝的第一件事是,我沒有找到mvc控制器組件的任何基類。在backbone.js中你有一個觀點(很多人說backbone.js視圖是一個控制器),這有很大的幫助。
現在,在我的mvc控制器組件中,我想呈現視圖。我通過使用amd文本插件「加載」模板。對於簡單的模板 - 我發現 - 你可以使用dojo.string.substitute。但是如果你想做一些更復雜的事情,你就不能使用它。
我知道,一位着名的javascript演講者Rebecca Murphey,當她開始在這個生態系統中開發時,將Mustache.js引入了Dojo。
Dojo Web應用程序員在使用動態數量的行渲染列表時需要使用哪些Dojo本地解決方案,並且他們希望通過js模板來實現這一點?Dojo和模板解決方案

在下劃線模板。當你想這樣做,你寫的東西就像在模板中的以下內容:

<div><%= lang_test %></div> <!-- static things --> 
<table> 
<% _.each(list, function(listitem){ %> 
<tr> 
<td><%= listitem.get('attr1') %></td> 
<td><%= listitem.get('attr2') %></td> 
</tr> 
<% }); %> 
</table> 

非常感謝
沃爾夫岡

更新:
謝謝mkriheli,你的答案。我也偶然發現了dojox.dtl!
我想我會用這個。
你提到你的首選處理方式是模板化的小部件。這是非常有趣的事情,WIDGETS作爲頁面控制器與TEMPLATING!

1)我的第一個JavaScript web 2.0 MVC頁面控制器是一個很大的自定義jQuery UI小部件。我聽說jQuery UI團隊正在計劃將模板集成到他們的小部件中。 我使用backbone.js遷移到jquery後轉身離開了它。

2)據我所知,JavascriptMVC的Justin Meyer將jQuery UI widget工廠部分(jQuery UI小部件的基礎部分)作爲頁面控制器使用。

3)馬克Wubben在道場的conf談到模板:他說:

這就導致了一個新的和有趣的方法編寫Dojo小部件。它們可以變得更像控制器:處理DOM事件,實現應用程序邏輯和更新模型。該視圖將自動反映更改。

回答

0

我知道你想要更強大的功能,但對於非常簡單的基於替換的模板,可以使用dojo/_base_lang/replace,這很像dojox/dtl或Mustache的更簡單形式。並有沒有在Dojox(並沒有完全支持)的好處。

相關問題