微信小程序 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实现div的显示和隐藏的小例子
Jun 25 Javascript
javaScript NameSpace 简单说明介绍
Jul 18 Javascript
Tab切换组件(选项卡功能)实例代码
Nov 21 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
使用typeof判断function是否存在于上下文
Aug 14 Javascript
jquery简单倒计时实现方法
Dec 18 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
Mar 06 Javascript
Vue.js表单控件实践
Oct 27 Javascript
js的对象与函数详解
Jan 21 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
用javascript制作qq注册动态页面
Apr 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/04/17 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
javascript实现简单查找与替换的方法
2015/07/22 Javascript
javascript基本算法汇总
2016/03/09 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
axios学习教程全攻略
2017/03/26 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python 消费 kafka 数据教程
2019/12/21 Python
Python实现括号匹配方法详解
2020/02/10 Python
AUC计算方法与Python实现代码
2020/02/28 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
美术教学感言
2014/02/22 职场文书
大型活动组织方案
2014/05/10 职场文书
洗手间标语
2014/06/23 职场文书
八项规定整改方案
2014/10/01 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
大学生读书笔记大全
2015/07/01 职场文书
董事会决议范本
2015/07/01 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
python编写五子棋游戏
2021/05/25 Python