1. 程式人生 > >MUI自定義事件傳參

MUI自定義事件傳參

在MUI中頁面之間的傳參一般是分為兩種的,一種是通過開啟頁面或者預載入頁面的時候傳遞引數,另一種就是自定義事件了,我們來說說自定義事件傳參的問題;
我們來分兩種情況
一,頁面已經存在的時候
這種情況是很容易的,直接就是mui.fire(目標頁面,事件名稱,{需要傳遞的引數})
二,頁面是新建立的
如果你是這麼寫的話

var wv = plus.webView.create("a.html","a.html");
mui.fire(wv,"aa",{
id : 1
})
wv.show();

這樣做在IOS下是有可能失敗的;原因是自定義事件,必須這裡webview的loaded事件發生後才能生效

所以你需要做如下改變

webview.addEventListener('loaded',function () {
    webview.show('none', 1, function() {
        console.log(1221);
        webview.evalJS("test()");
        mui.fire(webview, 'pageShow', {});
    });
})

這樣才沒有問題,官網的原話是:**目標webview必須觸發loaded事件後才能使用自定義事件
若新建立一個webview,不等該webview的loaded事件發生,就立即使用webview.evalJS()或mui.fire(webview,’eventName’,{}),則可能無效;**