数组的push()方法
在小程序里是不支持的,错误提示:
VM2206:1 thirdScriptError
Cannot read property 'push' of undefined; [Component] Event Handler Error @ pages/index/index#bound onTap
TypeError: Cannot read property 'push' of undefined
但为什么代码片段就可以呢????????
同样的代码啊
https://developers.weixin.qq.com/s/Ls4A3ImV7i5D
你们也可以试试,上面是代码片段
还有个莫名其妙的问题:
定义的全局数组,在开发工具里是可以log并使用的
但为什么在真机上就始终是空数组呢(有这个全局变量名)
我也遇到了相同的报错,我有两个页面,一个试写页面,一个是列表页面,在列表页面定义的数组,在写页面把写的内容push到数组中,一开始报错,我输出数组发现数组是未定义的,后来发现是getcurrentPsge那里获取的页面不对,并没有获取到列表页面定义的数组,所以报错了,push是可以用的,应该是数组定义的原因,希望对你有用
Array.prototype.push 在小程序里也是有的因为我经常用
我觉得这个问题的解决思路应该在前面的那个那个变量类型不是 array 或者是 undefined 之类的
可以看看官方文档的介绍:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/06datatype.html
比如你写的arr.push("1")
你这个报错的意思是,arr是个undefined。。和push这个方法没关系
先判断一下if(arr.push){}试试,照理是支持的。
我再开发工具上测试,这两个代码片段都没有问题
代码片段没有问题,是把代码片段里的复制到小程序项目里就出现push的错误了
难道是开发工具的原因?