小程序警告 Now you can provide attr “wx:key” for a “wx:for” to improve performance.
首先,要说这是一个警告,不影响脚本正常运行。
但是,做为我个人的性格来讲,这是不允许的。如果页面多,用了很多的wx:for,那么这种提示在控制台窗口提示就会提示好几米高。就算只有一个提示,那么我们做这个的,应该要严谨,不允许一点点的警告。 Continue reading
小程序警告 Now you can provide attr “wx:key” for a “wx:for” to improve performance.
首先,要说这是一个警告,不影响脚本正常运行。
但是,做为我个人的性格来讲,这是不允许的。如果页面多,用了很多的wx:for,那么这种提示在控制台窗口提示就会提示好几米高。就算只有一个提示,那么我们做这个的,应该要严谨,不允许一点点的警告。 Continue reading
微信小程序报错:小程序使用wx.navigateTo()接口,由页面A跳转到页面B时,跳转失败,报文是navigateTo:fail can not navigateTo a tabbar page
原因是B页面已经加入到app.json中的tabBar项做为标签页了。
两种解决办法:
一、删除app.json中的tabBar项下的B页面,即B页面不能做为标签页面;
二、另建一个不加入app.json中tabBar项下的页面。
微信小程序引用SDK正确操作数据库方法:
0 1 2 3 4 5 6 7 8 9 10 11 |
// 使用wafer-node-sdk导出的mysql访问接口 const { mysql } = require('../qcloud') module.exports = async (ctx, next) => { await mysql('cSessionInfo').select('*').then(res => { ctx.state.code = 0 ctx.state.data = res }).catch(err => { ctx.state.code = -1 throw new Error(err) }) } |
注意:
1、必须使用await,因为数据库获取是异步返回的,此处折腾了好久,刚开始不知道是异步的,总获取不到信息
2、使用await的情况下,必须使用async,否则会报错
**如果不使用await,打印数据库查询结果为如下形式: Continue reading
如果是来找织梦结合小程序的朋友请移步“织梦结合小程序的方法”,如果是想解决标题中提到的问题请向下看。
Do not have getUserInfo handler in current page: pages/index/index. Please make sure that getUserInfo handler has been defined in pages/index/index, or pages/index/index has been added into app.json
放了好几周才又开始做的微信小程序,之前在页面中做了一些代码测试,隔了这么长时间了,也不记得都动了哪里。
涉及到制作交互部分了,打开了默认的获取用户信息的代码的注释,点击后,报错,报文如上。index.js中、app.js中、…有一些小改,但是都不是真正的原因。
百度上查查吧,但查到的内容也是过来人犯过的错,在这里也记录一下,我也出现了这些提到的。
1. 检查报错对应js在Page之外是不是var了一些不对的值,如: var RSA = require(‘../utils/wx_rsa.js’);
2.调整app.json中Pages里面的页面注册顺序 ;
3.检查wxml中bindtap是否在js里面将方法创建。
上面第1条是我存在的问题,我在app.js文件中的app({……})之个引用了文件const cfg = require('./config');
而且在./config.js文件中还有var的定义,改为let后,没有解决我的问题(但是这不代表不能解决别人的问题)。
再说一下上面的第2条,有个朋友是通过修改app.json中的pages下定义路由的顺序修改了BUG,他的原话如下:
位置调换到后面的 “pages/personal/personal 页面 ,.js 文件中 没有使用Page() 函数注册页面,导致后续页面注册被中断了
测试了一下,把某模块中的js文件清空,控制台提示内容如下:
pages/regulation/regulation.js 出现脚本错误或者未正确调用 Page()
估计那位朋友也不是撒谎,也许是还有别的情况不同的关系吧。
下面说一下这次(pages/index/index.js文件中)我认为很严重的直接造成上面报错的一堆错误:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Page({ data: { motto: 'Hello World', userInfo: {}, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo'), // 静态资源路径 // publicPath: { // 'public': '../../public', // 'imgs': '../../public/imgs' // }, .......111....... note: [......222......] } }) |
在上面“…111…”中,有很多代码,但都是事件处理函数等,是不应该在Page.data下的,应该是同级的,Page.data的闭合括号不知道什么时候弄到结尾去的,刚才我是一直没查出来这个错,也是无意间发现的,这个错误比天大啊。
也许是我在上次做测试的时候,复制完代码准备改还没改的情况下放手的,也真是记不清了。
所以,当出现上面出现上面报错时,解决方法还要加上一条,查查自己的代码是否有闭合位置错误的情况发生。
右键点击编辑器区域,选择“格式化文件”,仔细查一查函数的闭合情况。
—————————— 2018-09-05 ——————————
又是一个低级错误,造成这样的报错。
.wxml文件中的部分源码:
0 |
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo ">同意</button> |
报错原因:引号内getUserInfo的后面多了一个空格
买疙瘩,各种错误,不重样儿。