stock2
stock2
  • 发布:2015-03-16 14:28
  • 更新:2015-06-09 20:08
  • 阅读:3252

传值问题 A窗口打开B窗口,然后关闭B或返回到A,可以把B窗口的值带回A吗?

分类:MUI

传值问题 A窗口打开B窗口,然后关闭B或返回到A,可以把B窗口的值带回A吗?
例如 a窗口 点击按钮弹出B窗口,填写数值.完成后, 关闭B窗口或按返回.
到A窗口时, 返回B窗口某个值 . 如果操作 谢谢?

2015-03-16 14:28 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

<script>  
mui.init({  
beforeback:function(){  
var backPage = plus.webview.getWebviewById('a'); //a为 a页面的id值  
mui.fire(backPage,'custom',{a:120});  
}  
});  
</script>
stock2

stock2 (作者)

可以用 A为父窗口,B为子窗口. 关闭时或返回时.把值返回?
谢谢. 有此方法吗 谢谢

蔚然成霖

蔚然成霖

A里定义一个函数getdata(a.data),B里写A.evaljs("getdata("+b.data+")")

stock2

stock2 (作者)

谢谢楼上的,能详细点吗? 例如 a页面 取 b页面 id='rtn' 的value

蔚然成霖

蔚然成霖

A页面
var newdata=getdata();
fubction getdata(value){
retrun value;
}

stock2

stock2 (作者)

还是不明白. b页面怎么写? 例如传回 b页面的值 <span id='rtn' >20</span>

DCloud_UNI_FXY

DCloud_UNI_FXY

http://dcloudio.github.io/mui/javascript/#customevent

stock2

stock2 (作者)

谢谢 版主回复 ,我看了 监听自定义事件 似懂非懂 的.
数据传递很重要. a到b 我通过?id=2&a=3 来传递了. b关闭或返回到a 如何让a页面取到值还是不会.
能具体给下例子吗? 拜托啊.
不好意思. 如果其他高手, 也请给下示例好吗 ,谢谢 : )

小闹

小闹

在B页面

var backPage = plus.webview.getWebviewById('A');  
mui.fire(backPage,'custom',{value: value});

在A页面监听自定义事件:

window.addEventListener('custom', function(event) {  
    var value = event.detail.value); // value就是传回来的值  
});
stock2

stock2 (作者)

谢谢 楼上的 我试试.
我在想, 在A页打开B页面时,如果增加关闭后处理函数 不是更好吗?
类似: mui增强下 函数
mui.openWindow({
url: x,
id:y,
close/back :{function()}
});

stock2

stock2 (作者)

谢谢 小闹
我测试半天 还是没有结果.

在b页面内容
<script>
mui.init({
var backPage = plus.webview.getWebviewById('a'); //a为 a页面的id值
//alert(backPage);//返回object 无值
mui.fire(backPage,'custom',{a:120});
});
</script>
在a 页面内容
<script>
window.addEventListener('custom', function(event) {
var value = event.detail.a; // value就是传回来的值
alert(value); //如果正确 应该返回120 .没有任何提示
});
</script>

stock2

stock2 (作者)

希望 : a页面打开b页面,b页面返回时,返回id的值到a页面.
a页面 A.html ,id='A'
window.addEventListener('custom', function(event) {
var value = event.detail.a; // value就是传回来的值
alert("aa");
alert(value);
});

mui.openWindow({url:'B.html',id:'B' }); //a页面打开b页面

b页面 返回时
var backPage = plus.webview.getWebviewById('A'); //a为 a页面的id值
//alert(backPage);//返回object 无值
mui.fire(backPage,'custom',{a:120});

a页面如何收到b页面返回的值

小闹

小闹

不好意思,我才看到,我估计你应该把fire放在mui.back()这个里面处理,所以你应该重写系统的mui.back()函数

stock2

stock2 (作者)

谢谢 ,可以了. 也非常感谢小闹.

这个问题搞了我几天. 终于好了.还是很开心.
我建议 这个收费更好些. 让版主等把文档弄的好点. 自己摸索太耗费精力了.

建议把示例写的详细些. 文档函数,都有例子.
我看了 很多问题 大家也都是在摸索.
我已经15天过去了. 还有好多不明白的.哎.

  • stock2 (作者)

    可以了. a页面父,b页面子. a页面监听取值 ,b页面设值.

    2015-03-31 14:09

  • 贰大的

    回复 stock2:请问一下 怎么解决的 我现在也遇到了这个问题?

    2015-06-15 10:30

lucida

lucida

这也叫文档? 是 写文档的人,给自己看的吧? 给那些 比写文档的人 还牛的人 看的吧

lucida

lucida

一个简单的问题,文档里面 都写的 乱的没法看

dcl

dcl

话说show方法不能传值吗,这样传值好像很麻烦啊

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