微信小程序 参数传递详解


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 相关文章推荐
Firefox 无法获取cssRules 的解决办法
Oct 11 Javascript
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
JavaScript编写连连看小游戏
Jul 07 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
小程序实现短信登录倒计时
Jul 12 Javascript
Vue的生命周期操作示例
Sep 17 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
Jul 07 Javascript
Vue中 axios delete请求参数操作
Aug 25 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 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
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
python判断windows隐藏文件的方法
2014/03/21 Python
python学生信息管理系统(完整版)
2020/04/05 Python
python绘制雪景图
2019/12/16 Python
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
如何执行一个shell程序
2012/11/23 面试题
写自荐信有哪些不宜?
2013/10/17 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
大学生就业意向书范文
2014/04/01 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
法语专业求职信
2014/07/20 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
企业承诺书格式范文
2015/04/28 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android