背景: 在页面中有很多 弹出框,这些弹出框目前是用 js 拼接 html 字符串然后使用 template engine 替换得来的,但是这样不好统一管理维护也困难。
我是想把所有的这些 template 都放在服务端,然后在 js 里通过<%= render %>这样的形式引入进来,但是这些 js 文件都直接是 assets/js 下面的初始文件,没有经过 controller,所以没有办法使用 render 方法来渲染,请问针对这个问题有什么好的解决方式么
请各位大牛出个主意
自己顶一个,求大神给回复,这些模板太多了,都写在 js 里面好乱,而且格式很难调
内容是静态的还是通过 ajax 获取?
最易理解的是 views 加个子页面,并提供输出 html 的接口,然后 js 中$('body').html(response);
复杂的用前端框架,实际使用也不会太复杂;
或者单独用某些 template compiler, 如:https://github.com/leshill/hogan_assets
@Rei 内容是静态的,就是一些基本的模板,但是东西很多,所以把 html 字符串杂在 js 里面很难维护
@shatle 可能我没有懂你的意思,不是请求服务器之后的页面,就是 assets 下面的 js 中有很多的 html 字符串的模板
#4 楼 @ZhongWen_Zhou 写成默认样式不显示的 html 会遇到什么问题?
@Rei 你是说直接夹在 html 页面上,然后通过 js 调用显示是吧?这个没有问题,就是挺多的,不可能把每一个弹窗都做出来撒
@Rei 另外,因为我们项目里面自己写了大量的 widget,现在只是要做一个界面改版,可能不会动太多的东西,想法就是把这些 html 模板单独抽出来,好维护一点,你说的我去尝试一下看改动代价大不吧,谢谢啦