微信小程序 参数传递详解


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 相关文章推荐
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
js拦截alert对话框另类应用
Jan 16 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
Sep 21 Javascript
javascript函数定义的几种区别小结
Jan 06 Javascript
js和css写一个可以自动隐藏的悬浮框
Mar 05 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
javascript框架设计读书笔记之数组的扩展与修复
Dec 02 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
通过扫小程序码实现网站登陆功能
Aug 22 Javascript
node.js使用fs读取文件出错的解决方案
Oct 23 Javascript
javascript实现倒计时效果
Feb 17 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
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
jquery简单体验
2007/01/10 Javascript
JS 对象介绍
2010/01/20 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
django中的setting最佳配置小结
2017/11/21 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
Python中拆分字符串的操作方法
2019/07/23 Python
python修改字典键(key)的方法
2019/08/05 Python
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
导师就业推荐信范文
2014/05/22 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
戒赌保证书
2015/05/11 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Pandas 稀疏数据结构的实现
2021/07/25 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js