mui触发自定义事件(子页面返回传递给父级页面值)

在App开发中,经常会遇到子页面给父级页面传值,通过自定义事件,用户可以轻松实现数据传递。

一、添加自定义事件监听操作和标准js事件监听类似,可直接通过window对象添加,如下:

window.addEventListener('customEvent',function(event){

         //通过event.detail可获得传递过来的参数内容....

});

1、customEvent   自定义事件的名称

2、function    接收到值后处理的方法

二、触发自定义事件

通过mui.fire()方法可触发目标窗口的自定义事件:

.fire( target , event , data )

    1、target    Type:WebviewObject    需传值的目标webview

    2、event    Type:String    自定义事件名称

    3、data    Type:JSON    json格式的数据

目标webview必须触发loaded事件后才能使用自定义事件

若新创建一个webview,不等该webview的loaded事件发生,就立即使用mui.fire(webview,'eventName',{}),则可能无效;

例子:

父级页面:

window.addEventListener('nameFun',function(event){

    //通过event.detail可获得传递过来的参数内容....

    //event.detail为获取到的值{aaa:"aaa",bbb:"bbb"}

});

子页面:

var selfPage = plus.webview.currentWebview();

var openerPage = selfPage.opener();

mui.fire(openerPage,'nameFun',{aaa:"aaa",bbb:"bbb"});

selfPage.close();

openerPage.show();

你可能感兴趣的:(mui触发自定义事件(子页面返回传递给父级页面值))