我可以在轨道上的ruby中使用两个插件。一个叫fancybox,另一个是bootstrap模态。它有两种不同的工作方式。如果我使用fancybox,我将不得不创建另一个视图,它将作为模板服务器,模式将获取数据。
EX:我有一个登录按钮/home/index
包含一个链接。按下链接后,它会从/home/login
,/login/modal
或我决定使用其他任何地方加载模板。
另一方面,bootstrap模式的信息和数据位于同一页面上。如果存在链接并且按下该链接,则会从同一视图加载数据。
对于fancybox,你必须创建一个单独的视图,但是对于bootstrap,你必须在一个页面上拥有所有内容。
我想知道每种方法的利弊是什么,哪种方式最终会更好。
答案 0 :(得分:1)
对于bootstrap模式,您不必加载将在模式中的数据 同一页。在不止一个场合,我用jquery做了一个 $ .get并简单地将响应html加载到bootstrap模态体中。 您所要做的就是给模态体提供一个id或使用.modal-body类。有关代码示例,请参阅此答案的底部
回答有关利弊的问题:
从其他视图加载
优点:
CONS:
内查看非常简单的视图
从同一视图加载
优点:
CONS:
无法查看时,重载代码会导致页面陷入困境
如果有兴趣,这里是我如何使用jquery从另一个视图加载twitter bootstrap模式:
$.post("myOtherView.aspx", null, function (response) {
if (typeof console == "object") { console.log("Response: " + response); }
$('#myModal .modal-body').html(response);
});
$('#myModal').modal();