微信小程序开发之学习--传递参数的3种方式
凌雪 2018-10-10 来源 :网络 阅读 1161 评论 0

摘要:本文将带你了解微信小程序开发之学习--传递参数的3种方式,希望本文对大家学微信有所帮助。

本文将带你了解微信小程序开发之学习--传递参数的3种方式,希望本文对大家学微信有所帮助。


学习两周左右微信小程序了,做个小结吧,以后有时间再学了。玩玩还是挺有意思的。以下是小结: 传递参数的3种方式(注意:以下传递的参数名都要使用小写字母,不要使用驼峰命名法或任何有大写字母的命名方式,不然传递过去都会被强转成小写字母,导致获取的时候出错!!): 1、形式如   data-variable="{{variable}}",(variable代表变量名): .wxml设置传递的参数:variable,格式如下:[html]   view plain copy print?<view bindtap="functionName"   data-variable="{{variable}}">    .js接收传递过来的参数:event.currentTarget.dataset.variable;(注意是currentTarget而不是target,直接console.log(event);具体可在控制台查看event存放的数据结构再决定访问方式。)[javascript]   view plain copy print?functionName:function(event){    console.log(event);    var variableData =   event.currentTarget.dataset.variable;     }  2、形式如   variable="{{variable}}",(variable代表变量名):(此方式经测试貌似有局限性,只能传递id过去,其它变量名无法接收),接收id:event.currentTarget.id或event.target.id。 hotMovies.wxml文件:[html]   view plain copy print?<view wx:for="{{hotMovies(你的内容)}}"   wx:for-item="item">        <view>         <image   src="{{item.images.medium(你的图片路径)}}"   id="{{item.id(每一项的id)}}" bindtap="toDetail(绑定的点击函数)"   />      </view>  </view>  hotMovies.js文件:[javascript] view plain copy   print?toDetail: function (event) {//参数:事件对象      console.log(event);      wx.navigateTo({      url:   '/pages/detail/detail?id=' + event.currentTarget.id,/**url传参*/    })    }  3、继续接着2的例子看,这个主要是 url   传参: hotMovies.js文件:[javascript] view plain copy print?toDetail: function   (event) {//参数:事件对象      console.log(event);      wx.navigateTo({      url:   '/pages/detail/detail?id=' + event.currentTarget.id,/**url传参*/    })    }  detail.js文件:[javascript] view   plain copy print?onLoad: function (options) {    /**括号内的options可以改名的,结果一样,无影响,已测试!*/          console.log("options:");       console.log(options);//就是一个接收传递过来的参数的对象     var filmId =   options.id;(接受url传参,不限制只能传递id变量名,可以传递多个变量名值)       console.log(filmId);//获取在首页点击的电影图片的id     /**具体逻辑实现 */  }    设置一个input输入要搜索的内容加上一个按钮点击即搜索(简单例子): .wxml文件[html] view plain copy   print?<input bindinput="keyword" placeholder="默认文字的内容"   placeholder-style="默认文字的样式"/>    <button bindtap="requestSomething"   data-keyword="{{keyword}}">搜索</button><!--data-keyword  向函数传参keyword-->  .js文件[javascript] view plain copy   print?keyword:function(event){        this.setData({        keyword:event.detail.value /**获取input输入的值并设置到搜索值 */      });    }  requestSomething: function   (event) {      var keyword = null;      if(event){//点击了搜索按钮才有此值        keyword =   event.currentTarget.dataset.keyword;/**获取到值后再请求相关数据 */      }        /**此处根据需要请求相关api获取数据 */  }  微信小程序本地存储数据与读取数据: 存储数据:[javascript]   view plain copy print?wx.setStorage({       //不会覆盖原来key的内容!       key:   'detailInfo'+id,    data: data,  })    或wx.setStorageSync('key', data); //会覆盖原来key的内容来存储新的内容!读取数据:[javascript]   view plain copy print?var storageInfo = wx.getStorageSync(key);/**获取本地同步数据   */  微信小程序的发请求request:[javascript] view   plain copy print?var data={...params...};//传递的参数对象  wx.request({          url: url, //请求api的接口地址          data: data,//传递的参数          header: {            'content-type':   'json'//不能写"application/json"否则报400错误。          },          success: function (res)   {//请求数据成功后才执行的回调函数。              console.log(res);              that.setData({/**放在外部没效果,因为还没执行成功就分配了数据结果是空数据 */              key: value            });            wx.setStorageSync('key',   data);//第一次请求之后存储数据在本地          }  });    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程