传值
我们在layer中open一个新layer,我们想要给它传值,我们使用下面的方式:
//打开新窗口
var index = layer.open({
type: 2,
title: '引用',
content: '{:url("****")}',
area: ['80%', '80%'],
success:function(obj){
var iframe = window['layui-layer-iframe'+index];
iframe.child(122121);
}
});
//我们新窗口中有一个方法,child()
function child(p){
console.log(p);
}
//执行之后,就可以打印122121
回调回传
如果想要在子layer中调用父类的方法,并且带一些参数,方式如下:
parent.onSelectedCallback(id);
挺简单啊,直接parent调用方法即可。这个parent其实已经是window的对象了。我们把window省略掉了。
我们看看父layer中定义的方法:
function onSelectedCallback(ref_id){
console.log(ref_id) ;
}
回调父类的方法之后,就可以打印我们传的id了。
另外,我们这里传的值,也可以是一个对象。
比如我们把父类的某个元素对象传给子layer,然后子layer回调时传回,在父类中修改此对象的值等。
layer关闭本身:
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
网友评论