最近这个礼拜在捣鼓使用hbuilder+mui来实现移动app,然后有个功能需要用到页面间传值,然后官网是说根据不同的业务场景,有两种方式实现页面间传值,一种是通过在mui.openWindow()方法中使用extras参数来给详情页面传递参数,如下所示:
传值页面代码如下:
mui.openWindow({
id:"xxx.html",
url:"xxx.html",
extras:{
property1:value1,
property2:value2
},
});
目标页面通过如下所示方式获取到传过来的参数:
var self=plus.webview.getCurrentWebview();
var property1=self.property1;
另外一种方式就是通过自定义事件来传递参数了,先在mui.init方法中预加载目标页面,然后通过mui.fire方法来触发自定义事件,再在目标页面监听自定义事件;但是在自己的实践过程中,发现在相应的代码中,一直报目标页面找不到的错误Uncaught Error: webview[newsList.html] does not exist at js/mui.min.js:6
列表代码如下所示:
mui.init({
preloadPages:[
{
id:"newsList.html",
url:"newsList.html"
}
]
});
var detailPage=null;
mui.plusReady(function(){
/*detailPage=mui.preload({
//注,下面的代码能够使得使用自定义事件在两页面传值成功
id:"newsList.html",
url:"newsList.html"
})*/
//添加列表点击事件
mui("#newsList").on("tap","a",function(event){
var id=this.getAttribute("id");
//获得详情页面
if(!detailPage){
detailPage=plus.webview.getWebviewById("newsList.html");
//因为是在mui.init()方法中使用的预加载方式,所以下面代码会显示为null
alert(detailPage);
};
//下面的代码是触发详情页面的newsId事件,其中detailPage为目标页面,
//newsId为在目标页面自定义的事件名称eventName
//第三个参数为封装的需要传递给目标页面的参数对象
mui.fire(detailPage,'newsId',{
id:id
});
//打开详情页面
mui.openWindow({
id:"newsList.html",
/*extras:{ //利用extras方法传递简单的参数至另外一个页面
names:"1234"
}*/
})
})
});
如上述代码所示,通过在mui.init()方法中预加载的方式的话,就会报找不到详情页面,
后面通过查找资料,发现得使用另外一种预加载的方式,即:mui.preload()方法,而且该方法得放到mui.plusReady()里面,具体代码如下所示:
mui.init();
var detailPage=null;
mui.plusReady(function(){
detailPage=mui.preload({
id:"newsList.html",
url:"newsList.html"
})
//添加列表点击事件
mui("#newsList").on("tap","a",function(event){
var id=this.getAttribute("id");
//获得详情页面
if(!detailPage){
detailPage=plus.webview.getWebviewById("newsList.html");
alert(detailPage);
};
mui.fire(detailPage,'newsId',{
id:id
});
//打开详情页面
mui.openWindow({
id:"newsList.html",
//注意:在使用自定义事件传递参数时,当目标页面已经预加载成功后,此时再如下代码所示使用
//使用extras传递参数,那么在目标页面无法获取该参数。
/*extras:{ //利用extras方法传递简单的参数至另外一个页面
names:"1234"
}*/
})
})
});
以上就是使用自定义事件传递参数时的代码示例(使用自定义事件传递参数时,如果是在mui.init()方法中预加载目标页面的话,会导致在给列表项添加点击事件时,目标页面(即所谓的详情页面)会不存在的情况),所以建议在mui.plusReady()方法中使用mui.preload()方式预加载详情页面
相关推荐
### HBuilder MUI 页面刷新及...综上所述,通过合理运用MUI框架提供的各种方法和特性,可以有效地解决页面刷新及页面间传值的问题。同时,利用`sessionStorage`来存储复杂数据类型,也可以方便地实现跨页面的数据共享。
这款框架尤其适合快速开发手机应用的前端页面,提供了一套完整的开发模板,使得开发者能够快速搭建出具有原生应用体验的页面。 在提供的文件列表中,我们可以看到以下几个关键目录: 1. **fonts**:这个目录通常...
1. Mui框架的基本结构和API使用,如页面路由、组件使用等。 2. 如何利用Mui构建混合App,包括HTML5、CSS3和JavaScript的使用。 3. 混合应用的开发流程,从项目初始化、界面设计、功能实现到打包发布。 4. 如何与设备...
MUI框架封装了android、ios等多个平台的原生接口,达到开发一个项目,采取不同打包方式,生产多种平台的app。这种方式可以大大缩短App开发的学习周期和成本,对于从事Java Web开发的工程师带来了极大的福音。 使用...
1. UI组件设计:mui提供了多种预设的UI组件,如列表、按钮、表单等,可快速搭建租房App的基本界面。例如,房源列表可以采用mui的list组件,结合grid布局展示房源图片和信息;预约看房按钮可以使用button组件,设置...
性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页...mui框架有效的解决了这些问题,这是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。
【标题】"仿小米mui移动app页面"涉及的是移动端应用开发,主要使用了mui框架,这是一种基于HTML5技术的开源框架,旨在简化移动应用的开发流程。小米mui(Mobile UI)设计灵感来源于小米MIUI系统,它提供了丰富的组件...
《使用MUI框架开发微信App的全面指南》 在当今移动互联网时代,微信App开发已经成为开发者们的热门选择,尤其对于想要实现跨平台兼容性的开发者来说,MUI框架提供了一个高效且便捷的解决方案。MUI是DCloud(数字...
html5+app、移动端、mui+app尺寸适配、屏幕适配、屏幕自适应插件,解决不同手机尺寸的手机适配问题
本篇将详细介绍基于mui框架的移动微商城APP模板,以及如何利用这个模板快速构建一个功能完备的移动端商城应用。 首先,我们要了解什么是mui框架。mui(Mobile UI)是阿里巴巴开源的一款轻量级的前端开发框架,主要...
MUI框架内置了适应不同屏幕尺寸的机制,能较好地处理屏幕适配问题。 六、优化与性能提升 为了提高用户体验,可以优化页面加载速度,如使用延迟加载、代码分割等技术。同时,注意减少HTTP请求,优化图片资源,以提升...
《MUI 漫画APP》是一款基于MUI框架开发的简单漫画阅读应用程序。MUI是DCloud(数字天堂)推出的一款轻量级的前端框架,专为移动Web应用设计,旨在提供一套易于上手、功能完备且性能优化的组件库,帮助开发者快速构建...
MUI提供了事件广播机制,可以用于父子页面间的通信。 4. **API调用**:MUI框架提供了一些API,例如`mui.back()`用于返回上一页,`mui.openWindow()`用于打开新页面。在父页面刷新时,可能需要利用这些API来控制页面...
- **混合App开发**:MUI也可以与Hybrid框架(如Apache Cordova)结合,用于开发跨平台的混合移动应用。 - **企业级项目**:对于需要快速构建复杂功能的企业级项目,MUI可以作为前端开发的标准工具库,帮助团队提升...
"Android本地APP集成Mui框架"就是一个关于如何将Mui框架整合到Android应用中的实践教程。Mui框架是一个轻量级的前端框架,它允许开发者快速构建响应式、移动优先的用户界面,尤其适用于混合开发或跨平台应用。 Mui...
16【微信子页面】页面间传值 17【相册】Html5访问手机相册,发送单张图片 18【相册】Html5访问手机相册,发送多张图片 19【摄像头】Html5访问手机摄像头,发送拍摄照片 20【摇一摇】获取重力感应 21【摇一摇】...
MUI框架支持单页面应用开发,使得开发者可以轻松实现页面间的平滑过渡。 **3. 页面路由管理** 在MUI中实现页面路由,通常会结合MUI的Ajax组件和History API。通过监听hashchange事件或者使用History.pushState/...
9. **兼容性和测试**:虽然MUI致力于提供跨平台兼容性,但在实际开发中,仍需对不同浏览器和设备进行广泛的测试,确保在各种环境下都能正常运行。 综上所述,HTML5开发APP结合MUI框架仿支付宝案例,不仅涉及前端UI...
本节我们将深入探讨MUI框架中的“init”事件,以及如何在页面初始化阶段使用它。 一、MUI框架基础 MUI是DCloud公司推出的一款开源前端框架,其设计理念是提供接近原生APP的体验,支持多平台兼容,包括iOS和Android...