首先一个主框架,有多个菜单,一个视图,菜单会弹出很多对话框,如果用 bootstrap 从页面初始化对话框,则会造成页面脚本过长,显然不利于模块化开发,有什么办法当点击菜单时再初始化对话框吗? 我承认这是一个桌面程序的实现方法,也不知道怎么在 B/S 中进行优化
https://github.com/rails/jbuilder https://github.com/rails/jquery-ujs
http://rails-practice.com/content/Chapter_3/3.3.html 有几个例子,不知道是不是你想要的效果。
#1 楼 @liwei78 谢谢,有些启发,但总感觉使用动态生成 html 是效率很低的做法。
#1 楼 @liwei78 我更喜欢直接用 html 写 view,否则可读性很差,可能我没说明白,我要解决的就是怎么把模态框的 html 脚本从 view 的 html 中分离出来。这样看起来更简洁。
把相似的对话框再抽象出来重用吧
#3 楼 @yan32768 写成部分视图吗,但是每个框里面的内容不一样,不好重用
如果一个页面里面有多个 modal, html 里面带一个通用的就可以了,用 Javascript 动态填充内容。这个不是服务器端的活。
#6 楼 @billy 这似乎是个办法,但是各个 modal 内容不一样,可能不好重用,动态填充内容是一种费时费力的方法,并且不好维护,不知道有没有更好的方法,在客户端动态加载 modal 代码文件,把每个 modal 代码独立出来才是正确的方法吧
@yan32768 你太多猜想了,这些都是很简单的东西,哪里有那么纠结。动手先做出来再说。代码整理和优化可以等做好了再优化。
#8 楼 @billy 多谢,你说的没错,我想通了,现在只有 6 个模态框,300 行代码,等做完再优化。可以找到合适的优化方法。