美文网首页
layer打开新窗口的传值和回调

layer打开新窗口的传值和回调

作者: 三米板 | 来源:发表于2020-04-25 23:31 被阅读0次

传值

我们在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);

相关文章

网友评论

      本文标题:layer打开新窗口的传值和回调

      本文链接:https://www.haomeiwen.com/subject/bafrwhtx.html