微信小程序 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 相关文章推荐
在页面中js获取光标/鼠标的坐标及光标的像素坐标
Nov 11 Javascript
jQuery循环动画与获取组件尺寸的方法
Feb 02 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
javascript封装 Cookie 应用接口
Aug 07 Javascript
Vue实战之vue登录验证的实现代码
Oct 31 Javascript
开发Vue树形组件的示例代码
Dec 21 Javascript
JS实现判断数组是否包含某个元素示例
May 24 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
layui prompt 设置允许空白提交的方法
Sep 24 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
vscode自定义vue模板的实现
Jan 27 Vue.js
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出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
市场部管理制度
2014/02/02 职场文书
技术负责人任命书
2014/06/05 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
创建文明城市倡议书
2015/04/28 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Redis 常见使用场景
2021/08/30 Redis
vue递归实现树形组件
2022/07/15 Vue.js