微信小程序 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系列(3) 全面解析Module模式
Jan 15 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
Feb 17 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
Mar 06 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
Mar 07 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 Javascript
Vue使用vue-cli创建项目
Sep 01 Javascript
vue-property-decorator用法详解
Dec 12 Javascript
Vue.js的模板语法详解
Feb 16 Javascript
JS开发前端团队展示控制器来为成员引流
Aug 14 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 文件缓存函数
2011/10/08 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
python 检测图片是否有马赛克
2020/12/01 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
办公室年终个人自我评价
2013/10/28 职场文书
精彩的大学生自我评价
2013/11/17 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
免职证明样本
2014/10/23 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang
Python学习之os包使用教程详解
2022/03/21 Python
Redis全局ID生成器的实现
2022/06/05 Redis