我的web應用程序使用服務器端的Smarty模板系統來生成內容。我的應用程序會使用很多AJAX交互。我不想在服務器端生成內容,而是每次向客戶端發送html數據,我只想從服務器發送JSON,然後將數據與客戶端的Smarty模板綁定。smarty模板引擎可以用來在客戶端創建模板嗎?
這對於將模板緩存在客戶端的方式非常有幫助,然後我可以在每次AJAX交互中重複使用它,因爲那樣我就可以只從發送JSON數據(而不是整個HTML)服務器,我可以在實際下載的數據上節省很多。
我知道小鬍子模板引擎可以做到這一點,因爲它是語言不可知的,但是可以用Smarty來做到這一點嗎?
我不想要的是做這樣的事情在JS
for (var i in foo) {
html += '<div class = "myClass">foo[i].bar</div>';
}
Y.one('#myDiv').set('innerHTML', html);
相反,我要的是有模板DIV的這個模板,然後只需將數據分配到模板
不應該你的JS層處理那些東西嗎? – JohnP 2011-03-29 08:05:00
使用佔位符的問題在於它僅適用於簡單的數據,如變量。但是如果我也有邏輯參與,例如一個循環,一個條件部分等,佔位符將不會很好。然後,我將再次在JS中爲上述場景編寫我的模板,這將破壞將View與其他部分分開的MVC目的 – Ankit 2011-03-29 08:06:04