layer.open主要是用来弹出来一个iframe弹窗,然后用来展示数据也行,用来修改也行,这次记录的主要是展示,展示我想要展示的数据
第一种方法,很简单,我想要看一个已经存在的页面,比如说百度,或者项目中某个页面 直接写地址
layer.open({
type: 2,
title: '很多时候,我们想最大化看,比如像这个页面。',
shadeClose: true,
shade: false,
maxmin: true, //开启最大化最小化按钮
area: ['893px', '600px'],
content: 'http://fly.layui.com/'
});
-----------------------------------------------------------------------
layer.open({
type: 2,
title: '用户信息。',
shadeClose: true,
shade: false,
maxmin: true, //开启最大化最小化按钮
area: ['893px', '600px'],
content: '/test/user/info' + uid
});
后面的uid可能是你需要传递的某些参数之类的…具体的根据你controller来定
第二种方法,将需要的内容写到页面上,然后在使用的时候调用
服务端页面
<div id='info' style = "display : none">
我是内容
</div>
然后在js里面调用
layer.open({
type: 1,
title: '账户信息详情',
shadeClose: true,
shade: false,
maxmin: true, //开启最大化最小化按钮
area: ['893px', '600px'],
content: $("#info").html()
});
第三种方法,直接在js里面拼接
var html = "<div class='wrapper' id='detailsinfo'>" +
"<div class='detailsdiv'>" +
"<p><label>帐号:</label>" + '测试帐号' +"</p>" +
"</div></div>"
layer.open({
type: 1,
title: '账户信息详情',
shadeClose: true,
shade: false,
maxmin: true, //开启最大化最小化按钮
area: ['893px', '600px'],
content: html
});
今天在项目中使用的场景如下:
需要在一个页面通过open打开另一个页面html,代码如下:
layer.open({
type: 2,
title: '支付选择',
closeBtn: 1,
shadeClose: true,
area:['400px'],
content: ['/home/article/pay','no'],
success: function(layero, index) {
这里的/home/article/pay是article控制器中的方法,这里需要注意的是需要在view中新建一个名为pay.html的页面,里面的一些模板变量在pay方法中获得即可
Comments