微信小程序 122100版本更新问题解决方案


Posted in Javascript onDecember 22, 2016

微信小程序版本更新问题

昨天朋友跑过来说微信更新了6.3.2版本,真机运行小程序有不少的问题。主要集中在wx.redirectTo方法无法正常跳转,且没有任何错误提示。但模拟器上是没有任何问题的。
我当时就很“紧张”。小程序又要搞事儿了!

果然今天下午,官方更新了122100版本,一共有90几处改动。这里先不一一列举了。放在另外的文章里。这里主要指出本次更新后对我们项目的影响。

一, redirectTo和navigateTo不能再跳转到带有tab选项卡的页面

首先是welcome欢迎页面无法跳转到文章页面的问题。这是因为小程序新增了一个接口wx.switchTab。这个接口是专门用来跳转到带有tabbar的页面。

但我不理解的是,你新增接口为什么要更改以前的接口。以前用redirectTo和navigateTo都是可以跳转到带有tabbar的页面。但更新后redirectTo和navigateTo均不可以跳转了。而且没有给出明显的错误提示。但如果你有fail方法接收错误消息的话,fail方法的参数里会含有一个错误提示的,非常隐蔽。更改后的代码如下:

代码页:welcome.js

Page({
  onTap: function (event) {    
    wx.switchTab({
      url: "../posts/post"
    });
    
  }
})

请注意switchTab只能跳转到带有tab的页面,不能跳转到不带tab的页面!跳转不带tab的页面还是需要使用redirect或者navigate!所以,如果如果你的post页面还没有加入tab选项卡,请依然使用redirect或者navigate!

二 ,Page的onLoad函数里不可以再直接对data变量赋值做数据绑定

这又是一个很无理的改动,应该是更改了绑定数据的时机。之前版本,在onLoad函数里不需要使用this.setData方法来做数据更新,只需要使用this.data = { key:value} 即可更新数据绑定变量。这样做的方法我在课程里也分析过,是因为onLoad函数执行是在数据绑定初始化之前。

但此次更新后这种方法失效了,造成文章页面无法正常初始化数据。请同学们将所有用this.data做数据绑定的地方,更新成this.setData问题即可解决。举一个代码的例子:

代码页面:post.js

Page({
 data: {
 },
 onLoad: function () {

  // this.data.postList = postsData.postList
  this.setData({
    postList:postsData.postList
   });
 },

三, wx.request 方法的Content-Type参数

这又是很奇葩的一个问题。最早的版本使用content-type:application/json 即可成功访问豆瓣的数据。112301版本更新后,application/json参数不可以使用了。但形如content-type: ‘ ',content-type:xxx,content-type:aaaaaaa 都可以成功调用。

最新的0.11.122100版本 content-type:' ' 形式不可以用了。但其他任意形式都可以用,只要不是空字符串和application/json。

请同学们把相关方法更改成 content-type:json或者content-type:xxxxxx,都可以成功调用豆瓣api。下面是代码示例:

function http(url, callBack) {
 wx.request({
  url: url,
  method: 'GET',
  header: {
   "Content-Type": "json"
  },
  success: function (res) {
   callBack(res.data);
  },
  fail: function (error) {
   console.log(error)
  }
 })
}

3个问题解决后,项目就没问题了。大家以上方法做对照修改。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
人人网javascript面试题 可以提前实现下
Jan 05 Javascript
javascript实现的一个随机点名功能
Aug 26 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
jquery实现平滑的二级下拉菜单效果
Aug 26 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
React.js入门实例教程之创建hello world 的5种方式
May 11 Javascript
解决Window10系统下Node安装报错的问题分析
Dec 13 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
使用vuex的state状态对象的5种方式
Apr 19 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
JS闭包与延迟求值用法示例
Dec 22 #Javascript
jQuery实现两个select控件的互移操作
Dec 22 #Javascript
JS 调用微信扫一扫功能
Dec 22 #Javascript
Vue实现双向绑定的方法
Dec 22 #Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 #Javascript
Vue.js双向绑定实现原理详解
Dec 22 #Javascript
BootStrap Table对前台页面表格的支持实例讲解
Dec 22 #Javascript
You might like
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
简单谈谈favicon
2015/06/10 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
js跳转页面方法总结
2014/01/29 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
Python如何获取系统iops示例代码
2016/09/06 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
中专毕业生求职简历的自我评价
2013/10/21 职场文书
机电专业毕业生求职信
2013/10/27 职场文书
应聘面试自我评价
2014/01/24 职场文书
矿泉水广告词
2014/03/20 职场文书
高一学生评语大全
2014/04/25 职场文书
家长建议怎么写
2014/05/15 职场文书
机关领导干部作风整顿整改措施
2014/09/19 职场文书
2014年妇联工作总结
2014/11/21 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
教师学期末个人总结
2015/02/13 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
硕士论文致谢范文
2015/05/14 职场文书
趣味运动会简讯
2015/07/20 职场文书
乔迁新居祝福语
2019/11/04 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL