定义一个数组,希望能像JavaScript中那样,使用push()方法往数组的后部添加数组,编译提示 push is not a function。
经过调试发现Array类型的内置方法都放在keys属性下。一个array类型的变量调用push()方法之前,先要调用keys属性。
var cartInfo = wx.getStorageInfoSync(this._storageKey); //第一次没有缓存
if (typeof (cartInfo) == 'undefined') {
cartInfo = [];
}
cartInfo.keys.push(productData);
为什么要这样
问题找到了。获取缓存的接口用错了。应该使用wx.getStorageSync()。获取指定key的缓存信息
用wx.getStorageInfoSync()获取整个storage的信息
应该用concat吧