微信小程序 参数传递详解


Posted in Javascript onOctober 24, 2016

微信小程序的推出,无疑将会在移动互联网行业里再次掀起风浪。

有人会质疑小程序会不会火, 会不会火我不知道, 看微信的用户量即可明白一切。

微信小程序-参数传递

这里我找到两种小程序上的参数传递方式,为了方便,我单独拿出来和大家分享下.

一、通过事件进行参数传递

先来看眼小程序对事件的定义:

#什么是事件?

这里是列表文本事件是视图层到逻辑层的通讯方式。
这里是列表文本事件可以将用户的行为反馈到逻辑层进行处理。
这里是列表文本事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
这里是列表文本 事件对象可以携带额外信息,如id, dataset, touches。

很明确的指出了是视图层【wxml】到逻辑层【js】的通信方式,时间对象可以携带额外信息,用这个事件来传递参数肯定没错了,接下来我们就来实际看下例子:

视图.wxml

  <view id="tapTest" data-hi="MINA" bindtap="tapName"> Click me! </view>

逻辑.js

Page({
 tapName: function(event) {
      console.log(event.target)
 }
})

log打印

微信小程序 参数传递详解

可以看到 dataset 里面就是我们设置的data-hi="MINA"的值了。现在我们来看下刚刚我们写的, 首先 bindtap,以bind开头的就是要给他绑定个事件,这个事件的名字就是“=”号后面的数值就是绑定的事件名称,需要在 逻辑【js】层定义上。 然后就是传值了,注意到的朋友可以看到 我们这里写了data-hi 和我们平时写js的传值是同一个定义方法。这个data-*就对应事件的属性target里的dataset 值。这里我们需要调用的话就是 event.target.dataset.hi就能取到data-hi所对应的值。

这里需要注意下 data的定义名称: 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.target.dataset 中会将连字符转成驼峰elementType。

官方示例:

<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>

Page({
 bindViewTap:function(event){
  event.target.dataset.alphaBeta == 1 // - 会转为驼峰写法
  event.target.dataset.alphabeta == 2 // 大写会转为小写
 }
})

二、navigator 跳转url传参

*.wxml

<view class="btn-area">
 <navigator url="navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator>
 <navigator url="redirect?title=redirect" redirect hover-class="other-navigator-hover">在当前页打开</navigator>
</view>

*.js 跳到新页面之后在onload里面直接接收参数,接收方法也就是 options.[参数值]

Page({
 onLoad: function(options) {
  this.setData({
   title: options.title
  })
 }
})

好啦,今天就写到这里,我顺便把文档链接写上,上面写的文档里都有。我只是把它们搬出来了,用我的话说了一遍。 …(⊙_⊙;)…

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

Javascript 相关文章推荐
html组件不可输入(只读)同时任何组件都有效
Apr 01 Javascript
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
js 操作符汇总
Nov 08 Javascript
javascript下拉框选项单击事件的例子分享
Mar 04 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
Oct 28 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
vue单页应用加百度统计代码(亲测有效)
Jan 31 Javascript
react实现换肤功能的示例代码
Aug 14 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
10分钟掌握XML、JSON及其解析
Dec 06 #Javascript
JavaScript的new date等日期函数在safari中遇到的坑
Oct 24 #Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
Oct 24 #Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 #Javascript
JavaScript reduce和reduceRight详解
Oct 24 #Javascript
js在ie下打开对话窗口的方法小结
Oct 24 #Javascript
浅谈AngularJs指令之scope属性详解
Oct 24 #Javascript
You might like
一个基于phpQuery的php通用采集类分享
2014/04/09 PHP
浅谈php自定义错误日志
2015/02/13 PHP
php json相关函数用法示例
2017/03/28 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
js调用flash的效果代码
2008/04/26 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
jquery radio 操作代码
2011/03/16 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
javascript数组详解
2014/10/22 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
vue-router 起步步骤详解
2019/03/26 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
如何安装ruby on rails
2014/02/09 面试题
即将毕业大学生自荐信
2014/01/24 职场文书
公开承诺书格式
2014/05/21 职场文书
2015年技术员工作总结
2015/04/10 职场文书
防震减灾主题班会
2015/08/14 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
Redis模仿手机验证码发送的实现示例
2021/11/02 Redis