2012-07-05 27 views
1

我使用Smarty處理我的視圖。爲了最大限度地重用代碼,我將我的視圖文件拆分爲小段,並將其包含在需要的地方。這很有效,因爲它使我的標記在瀏覽器上呈現時保持一致。管理視圖文件和JS標記

問題是我也有JS會做某些DOM操作。這意味着我的JS需要了解標記結構等。在很多情況下,JS必須保持Smarty模板文件中已存在的標記的相同副本。

這將成爲一個維護噩夢,因爲任何對標記的更改都必須在Smarty模板文件中完成,並可能在JS標記中完成。

關於如何處理這個優雅的任何建議?或者我只是接受這是一個必要的邪惡?

回答

0

我分手了我的視圖文件成小片段,只是它們包含了輸入這些產品需要

這樣做與你的JavaScript。認爲模塊化,並使模塊,而不是頁面。任何模塊都會包含HTML(您的情況爲Smarty),JavaScript和CSS。任何需要該模塊的頁面都需要這三個文件。或者,您可以將所有內容捆綁在一起以使包含模塊更加容易當你創建模塊時,你將編輯模塊而不是頁面。這樣你就不會通過編輯JavaScript或CSS/HTML來破壞事物。

模塊可以是任何可以獨立於頁面中其他模塊的東西。當然模塊可以相互交流,但是你需要爲你的模塊系統定義一個一致的API。

這種方法將使維護更容易,但缺點是你必須幾乎重寫你的整個應用程序,使其模塊化。