一个大老鼠
一个大老鼠
  • 发布:2015-06-19 16:06
  • 更新:2015-06-19 16:27
  • 阅读:3743

官方来:openWindow打开新页面传参问题

分类:MUI

官方来:openWindow打开新页面传参,参数不能实时更新的问题:
代码:
============================================
mui.openWindow({
url: "../user/register.html",
id: "register",
extras: {
//自定义扩展参数,可以用来处理页面间传值
phone:phone
},
crateNew:true,
waiting: {
autoShow: true //自动显示等待框,默认为true
}
});
===================================================
1.在a页面中打开b 页面,a页面传递了参数phone 到b页面中,
2.b页面可以成功获取到参数并显示到b页面中

  1. 然后b页面调用back()函数,回到a页面,修改phone的值(phone是一个input),再次提交
    4.问题来了,b页面中的phone的值居然不会变化,还是第一次提交的值,这不科学。
2015-06-19 16:06 负责人:无 分享
已邀请:
一个大老鼠

一个大老鼠 (作者)

没问回答我自己先回答一下吧,这个问题出现,应该是plus.Webview 的缓存问题(这应该是bug),原因是:设计者为了提高打开页面的速度,就从缓存中去读取,发现有这个Webview的缓存,就直接显示出来了。而应该是要先更新传递的数据的。(这应该是bug)
根据这个原因,于是我自己总结了一下解决方法,写下来希望帮助其他朋友,也欢迎有更好的解决方案来指点学习,谢谢:
在b页面中,调用back函数时,传递false:
=========================
back(false);

说明:传递false参数后,这个Webview就被close了,下一次打开就会新建一个Webview。所以解决了数据不同步的问题。优点是参数可以同步缺点是性能下降,因为销毁了一个Webview。然后又新创建一个Webview。。完毕。

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