微信小程序 参数传递详解


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调试工具 Javascript Debug Toolkit 2.0.0版本发布
Dec 02 Javascript
通过url查找a元素应用案例
Apr 29 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
Mar 30 Javascript
简单介绍JavaScript的变量和数据类型
Jun 03 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
Nov 07 Javascript
Jquery元素追加和删除的实现方法
May 24 Javascript
js实现页面a向页面b传参的方法
May 29 Javascript
jQuery插件编写步骤详解
Jun 03 Javascript
Canvas + JavaScript 制作图片粒子效果
Feb 08 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
JavaScript最完整的深浅拷贝实现方式详解
Feb 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中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
php模拟post提交数据的方法
2015/02/12 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
小程序云开发实战小结
2018/10/25 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
Django中的Model操作表的实现
2018/07/24 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
警察正风肃纪剖析材料
2014/10/16 职场文书
生日宴会祝酒词
2015/08/10 职场文书
机械生产实习心得体会
2016/01/22 职场文书
python 爬取华为应用市场评论
2021/05/29 Python
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js