微信小程序 参数传递详解


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 相关文章推荐
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
jQuery基础知识点总结(必看)
May 31 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
Apr 15 Javascript
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
Python实现数据库编程方法详解
2015/06/09 Python
Python中的id()函数指的什么
2017/10/17 Python
vscode 远程调试python的方法
2017/12/01 Python
python使用tensorflow深度学习识别验证码
2018/04/03 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
Python中的self用法详解
2019/08/06 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
你常见到的runtime exception
2016/09/05 面试题
法律系毕业生自荐信范文
2014/03/27 职场文书
行政管理专业求职信
2014/07/06 职场文书
法律意见书范本
2015/06/04 职场文书
党员干部学习心得体会
2016/01/23 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers