微信小程序 动态传参实例详解


Posted in Javascript onApril 27, 2017

微信小程序 动态传参实例详解

在微信小程序的开发过程中经常会用到动态传参,比如根据某一页面传参的不同,加载不同的新的页面。接下来介绍下如何实现。

上一篇博客中介绍了如何用wx:for循环显示数组,一般情况下我们要实现的功能是点击不同的元素进入不同的页面,比如在另一个页面加载某个元素的详细信息。

跳转这里采用navigator跳转,在navigator跳转的链接上将参数加上去:

index.wxml(根据点击页面的不同传递参数)

<view class="item" wx:for="{{showData}}"> 
 <navigator url="/pages/logs/logs?id={{item.id}}" class="title"> 
 <view class="td"> 
  {item.MTId}} {{item.status}} 
 </view> 
 </navigator> 
</view>

id是在本地数据中已经写好的,参见以前的博客,它也对应了每一条数据其他详细信息。由此可以想到,我们只要在下一级页面根据传递参数id再在本地数据中查询,然后将查询结果进行显示,就做到了加载详细信息这个功能。

logs.js(接受index.wxml传递的参数并处理)

Page({ 
 onLoad: function (options) { 
 console.log(options.id) 
 var init = myData.searchmtdata(options.id) 
 this.setData({ 
  data_MTId: init.MTId, 
  data_status: init.status, 
  data_duration: init.Duration, 
  data_Operator: init.Operator, 
  data_IdleReason: init.IdleReason 
 }) 
 } 
})

searchmtdata这个方法在之前的博客中已经有说明,就是根据id的值来查询,返回一个list中具体的对象,即某个item的详细信息。

onLoad:function这个函数在页面加载时就会执行一次,options就是接收的从index.wxml传递过来的参数。根据id查询到具体的list对象后再进行赋值,此时data_**中的数据就是某个item的详细信息了。

logs.wxml(对item的详细信息进行显示)

<view class="ar_item" style="border-top:1px solid #ddd;"> 
 <text class="ar_name">MTID</text> 
 <text class="ar_content">{{data_MTId}}</text> 
</view> 
<view class="ar_item"> 
 <text class="ar_name">Status</text> 
 <text class="ar_content">{{ data_status}}</text> 
</view> 
<view class="ar_item"> 
 <text class="ar_name">Duration</text> 
 <text class="ar_content">{{data_duration}}</text> 
</view> 
<view class="ar_item"> 
 <text class="ar_name">Operator</text> 
 <text class="ar_content">{{data_Operator}}</text> 
</view> 
<view class="ar_item"> 
 <text class="ar_name">Idle Reason</text> 
 <text class="ar_content">{{data_IdleReason}}</text> 
</view>

实现效果截图:

微信小程序 动态传参实例详解

点击具体某个item

微信小程序 动态传参实例详解微信小程序 动态传参实例详解

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jQuery在html有效在jsp无效的原因及解决方法
Aug 02 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
Uploadify上传文件方法
Mar 16 Javascript
AngularJS中的按需加载ocLazyLoad示例
Jan 11 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
利用js给datalist或select动态添加option选项的方法
Jan 25 Javascript
vue中引入第三方字体文件的方法示例
Dec 17 Javascript
Node.js 进程平滑离场剖析小结
Jan 24 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
vue transition 在子组件中失效的解决
Nov 12 Javascript
基于vue和bootstrap实现简单留言板功能
May 30 Javascript
微信小程序 本地数据读取实例
Apr 27 #Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 #Javascript
js获取浏览器的各种属性
Apr 27 #Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 #jQuery
详解axios在node.js中的post使用
Apr 27 #Javascript
使用jQuery,Angular实现登录界面验证码详解
Apr 27 #jQuery
js绑定事件和解绑事件
Apr 27 #Javascript
You might like
深入PHP异步执行的详解
2013/06/03 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
js微信支付实现代码
2016/12/22 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
python list语法学习(带例子)
2013/11/01 Python
wxPython学习之主框架实例
2014/09/28 Python
Python实现线程池代码分享
2015/06/21 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
python 如何区分return和yield
2020/09/22 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
电力公司个人求职信范文
2014/02/04 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
捐书活动总结
2014/05/04 职场文书
公司外出活动方案
2014/08/14 职场文书
白酒代理协议书范本
2014/10/26 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python