我使用 Smarty 来处理我的观点。为了最大限度地重用代码,我将视图文件分成小段,并将它们包含在需要的地方。这很好用,因为它使我的标记在浏览器上呈现时保持一致。
问题是我也有可以进行某些 DOM 操作的 JS。这意味着我的 JS 需要了解标记结构等。在很多情况下,JS 被迫维护 Smarty 模板文件中已经存在的标记的相同副本。
这将成为维护的噩梦,因为对标记的任何更改都必须在 Smarty 模板文件中完成,并且可能在 JS 标记中完成。
关于如何优雅地处理这个问题的任何建议?还是我只是接受这是一种必要的邪恶?