为了保持每个界面之间的数据通讯和相关联性,页面之间传值是开发hybrid app常见的一个问题。怎么实现页面之间数据交互呢?我试过两种方法:

  1. 利用缓存
  2. mui页面的extras参数

利用缓存实现页面之间传值

利用缓存实现页面之间传值比较常见的方法,不管是Dcloud还是平常的web开发中,都可以将数据保存在缓存中。
下面这个例子是在b.html中输出a.html的数据

//a.html
var username="张三";
var age=21;
localStorage.setItem("username",username);
localStorage.setItem("age",age);
//b.html
console.log("姓名:"+localStorage.getItem("username"));
console.log("年龄:"+localStorage.getItem("age"));
//b.html控制台:
姓名:张三
年龄:21

利用mui+HTMLplus实现页面之间传值

Dcloud为我们提供另一种实现页面之间传值的方法,特别是当我们用Dcloud开发涉及到webview时,利用mui和htmlplus实现页面之间传值就更高效了。
在Dcloud中创建和跳转到一个页面

//创建一个页面
mui.init({subpages:[{url:your-subpage-url,//子页面HTML地址,支持本地地址和网络地址id:your-subpage-id,//子页面标志styles:{},extras:{}//额外扩展参数}]});
//跳转到一个页面
mui.openWindow({url:new-page-url,id:new-page-id,styles:{},extras:{//自定义扩展参数,可以用来处理页面间传值},createNew:false,//是否重复创建同样id的webview,默认为false:不重复创建,直接显示show:{},waiting:{}}
})

不管是跳转还是新建一个新页面都有一个参数extras。这个参数保存的就是你要传给新页面的数据,然后我们可以在新页面中通过获得WebviewObject直接获取传输的数据。

//a.html
mui.openWindow({url:'b.html',id:'b',extras:{abc:"hello world"//传递的数据            }
});
//b.html
var wv=plus.webview.currentWebview();//获取当前窗口的WebviewObject对象
console.log(wv.abc);
//b.html控制台:
hello world

MUI+Htmlplus开发APP实现页面之间传值相关推荐

  1. h5(HBuilderX+mui)开发App

    文章目录 h5(HBuilderX+mui)开发App 一.h5开发App分析 二.技术选择 三.h5开发App实操环节 1.工具准备 2.创建移动端项目 (1). 新建项目 (2). 项目目录结构 ...

  2. html5页面之间传值_HTML5和您所知道的之间的区别

    html5页面之间传值 While they are referred to in different ways by WHATWG, the development of HTML5 could b ...

  3. js父页面和子页面之间传值

    今天和朋友一块讨论,怎样通过js在父页面和子页面之间传值的问题,总结例如以下: 需求描写叙述:父页面有多个子页面.实如今父页面点击子页面,传值到子页面. 看着非常easy,试了好久.主要纠结在怎样获取 ...

  4. ASP.NET 页面之间传值的几种方式

    对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有3-5年经 ...

  5. php页面之间传值_php如何在不同页面之间传值

    php在不同页面之间传值的方法:1.利用post传值:2.利用get传值:3.利用session传值.session是全局变量的一种,经常用于用户登录后保存用户id之类的常用数据,选择session是 ...

  6. 转--ASP.NET页面之间传值方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  7. JSP页面之间传值的方法总结

    B/S页面间通信 HTTP是无状态的协议.Web页面本身无法向下一个页面传递信息,如果需要让下一个页面得知该页面中的值,除非通过服务器.因此,Web页面保持状态并传递给其它页面,是一个重要的技术. W ...

  8. jsp页面之间传值总结

    在b/s页面间的通信,http是无状态的协议.web页面本身无法向下一个页面传递信息,如果需要让下一个页面得知该页面中的值,可以通过服务器,web页面保持状态并传递给其他页面. 在http协议中一共有 ...

  9. java 页面之间传值_JSP页面间传值方法

    JSP页面间传值方法[@more@] a:最常用的方法是用form中的text, ,然后在b.jsp页面中这样获取 String username=request.getParameter(" ...

最新文章

  1. SAP的会计凭证类别
  2. 2018-08-15期 HBase命令行使用案例
  3. win7让任务管理器pid显示出来的方法
  4. Android Studio开启虚拟机报错!emulator: ERROR: x86 emulation currently requires hardware acceleration!解决办法梳理
  5. linux cp 隐藏文件,如何用cp复制包含隐藏文件和隐藏目录及其内容?
  6. goldengate简单配置
  7. matlab 无法进行符号运算,无法使用syms 命令
  8. 留言板php数据库_php实现留言板功能(连接数据库)的实例讲解
  9. modis数据下载汇总
  10. 计算机开机错误62,电脑出现Error 1962怎么办 电脑启动报错Error 1962的解决方案介绍...
  11. 数论著作读书笔记(2013-04-14 23:22)
  12. html 里面的 role 属性是什么意思和用途
  13. 简单易懂的现代魔法——Play Framework攻略2
  14. (译)计算距离、方位和更多经纬度之间的点
  15. 派生BOM (Variant Bom)操作
  16. echarts饼图label文字颜色
  17. 前端搜索引擎优化SEO优化之Title 和 Meta 标签
  18. 量化金融kaggle竞赛汇总
  19. 4.11 Lewis Carroll等式
  20. Java命名规范--阿呆

热门文章

  1. easypoi list中的map导出_EasyPOI简单用例,简单有效
  2. html 输出不了php,html不打印输出文本
  3. 安装mysql后电脑右下角_windows安装mysql方法 mysql5.7以后的安装方法
  4. activiti bpmn 安装不上_OTC弧焊工作站问题集-Win7 64位系统安装Step7 MicroWIN
  5. 行内元素(HTML、CSS)
  6. 在Angular中添加第三方库jQuery、bootstrap
  7. 循环匹配对应筛选(2)
  8. android color列表,Android应用资源---状态颜色列表(Color State List)
  9. Halcon缺陷检测——测量拟合
  10. nginx访问量统计