微信小程序 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 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
May 13 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
JS判断是否长按某一键的方法
Mar 02 Javascript
详解jquery选择器的原理
Aug 01 jQuery
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
Vue实现背景更换颜色操作
Jul 17 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之XML转数组函数的详解
2013/06/07 PHP
php5.3 注意事项说明
2013/07/01 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python学习资料
2007/02/08 Python
Python不规范的日期字符串处理类
2014/06/10 Python
Python中title()方法的使用简介
2015/05/20 Python
Python探索之Metaclass初步了解
2017/10/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
个性大学生自我评价
2013/12/04 职场文书
秘书英文求职信范文
2014/01/31 职场文书
ktv好的活动方案
2014/08/17 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
办公室规章制度范本
2015/08/04 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS