merry
merry
  • 发布:2015-12-15 17:39
  • 更新:2015-12-16 16:07
  • 阅读:1182

页面跳转到一个包含WebView的list页面

分类:MUI

页面a 跳转到 页面b,页面b 由b_title,b_list页面组成
现需将 页面a 的值传递到b_list 页面,然后加载数据
请问什么比较好的方法 将值由 a传递到b_list嘛?

2015-12-15 17:39 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/63

Trust

Trust - 少说废话

首先是a页面:

mui.openWindow({  
    url: "b_title也就是列表页的父窗口的地址",  
    id: "窗口对象的id,一般采用html文件的名称",  
    waiting: {  
        autoShow: false //这里是把wating框关闭了,默认是true也就是开启的;  
    },  
    extras: {  
        param: "abc"  
    }  
});

然后b_title页面:

// 获取当前窗口对象,然后获取到上一级传递过来的param参数  
var self = plus.webview.currentWebview();  
var param = self.param;  
mui.init({  
    subpages: [{  
        url: "b_list的url",  
        id: "b_list的id",  
        styles: {  
            top: "45px",  
            bottom: 0  
        },  
        extras: {  
            param: param  
        }  
    }]  
});

最后是b_list页面:

// 获取当前窗口对象,然后获取到上一级传递过来的param参数  
var self = plus.webview.currentWebview();  
var param = self.param

首先从a传递到b_title,然后b_title创建子窗口时候,将该参数继续传递到子窗口,那么子窗口也就拥有了a传递过来的参数。

  • merry (作者)

    嗯,我试过这样子,在 b_title 页面 报错 ” Uncaught ReferenceError: plus is not defined “

    2015-12-15 21:10

  • Trust

    回复 merry:请把plus相关的代码,写在mui.plusReady()里面。

    2015-12-16 10:37

  • merry (作者)

    回复 Trust:嗯,写在了plusReady()里,但是b_list里接收不到相关参数值

    2015-12-16 11:07

  • Trust

    回复 merry:你的b_title页面是否也获取到了a传递过来的参数,并且通过extras传递过去了呢。按照我那个代码写,肯定可以拿到的。

    2015-12-16 11:09

  • merry (作者)

    回复 Trust:嗯,b_title页面的plus里确实获取了传递过来的参数,也按照你的方法 通过extras 传递了参数,但是 b_list里 获取不到参数...

    2015-12-16 11:48

  • Trust

    回复 merry:b_list里面也要写b_title里面那段啊,我上面写的很清楚啊,不可能拿不到的。

    2015-12-16 13:37

  • merry (作者)

    回复 Trust: 我的写法如图 http://image.baidu.com/detail/newindex?col=&tag=&pn=0&pid=30246485905&aid=411162919&user_id=733036599&setid=-1&sort=0&newsPn=&star=&fr=&from=2

    2015-12-16 15:34

Trust

Trust - 少说废话

mui.plusReady(function() {  
    // 这里获取到值  
    var self = plus.webview.currentWebview();  
    var param = self.param;  
    mui.init({  
        subpages: [{  
            url: "子页面的url",  
            id: "子页面的id",  
            styles: {  
                top: "44px",  
                bottom: 0  
            },  
            extras: {  
                param: param  
            }  
        }]  
    });  
});

你要先获取到值,然后再把值,在init里面传递过去,之前写的顺序不对哦。。。

该问题目前已经被锁定, 无法添加新回复