mui页面传值失败及解决办法

2019-01-18  本文已影响0人  醉笙情丶浮生梦

传值

function ceshi() {
    if (window.plus) {
        console.log("测试传值");
        var id = plus.webview.getWebviewById('src/pages/myedit.html');
        console.log("id的值", JSON.stringify(id));
        id && mui.fire(id, 'shuju', {
            id: "哈哈哈",
        });
    }
}
//用 mui.plusReady 即可解决获取不到 页面id问题 
//用 ceshi() 会立即执行
// mui.ready 代表 DomcontentLoaded,plusReady 代表 plus 基座ok
mui.plusReady(ceshi)
mui.plusReady(function(){  
     console.log("当前页面URL:"+plus.webview.currentWebview().getURL());  
});

接收

window.addEventListener('shuju', function (e) {
  console.log(JSON.stringify(e));
  var address = e.detail.id;
  console.log("接收传值22222",address);
});

传值改变状态栏-从不同页面返回设置不同的状态栏颜色

if (window.plus) {
    var id = plus.webview.getWebviewById('src/pages/home.html');
    id && mui.fire(id, 'statusBar', {
        id: "dark",
    });
}
window.addEventListener("statusBar", function(e) {
  console.log(JSON.stringify(e),"接收传值");
  var status = e.detail.id;
  if (status && status == "dark") {
    plus.navigator.setStatusBarStyle("dark");
  }
});

打印提示 isTrusted":false
原因:需要直接取 event.detail.id 的值就正确了。不能将 event 转换为 json 字符串进行打印。看来 event 不是一个普通的 java 类,很可能是一个内置的数据结构,无法直接转换层 json 进行打印。

console.log(JSON.stringify(e), "接收传值");
上一篇下一篇

猜你喜欢

热点阅读