微信小程序数据重复显示
可能原因:当我们在一个页面使用wx.navigateTo(切换到不是tableBar的页面)和wx.switchTab(切换到是tableBar的页面) 跳转到其他页面时
跳转到的页面同时存在onShow方法(在页面被展示的时候会调用)和onLoad方法(在页面首次被加载的时候调用),并且两者同时给js中的data赋值,导致错误
解决方法:首先将onShow方法中数据重新初始化,然后再重新调用onLoad方法,如下
data:{
informat:false,
textareaInfo:{}, //存放缓存数组
},
//当从二级页面返回时会加载该方法
onShow: function (options) {
this.setData({
//初始化data数据
informat:false,
textareaInfo:{},
textareaWords:[],
textareaType:[]
})
this.onLoad()
},
//当第一次启动时会加载该方法
onLoad:function(){
const textareaInfo = wx.getStorageSync("textareaInfo");
if(textareaInfo){ //如果缓存数组存在数据
this.setData({
informat:true,
textareaInfo:textareaInfo,
})
}
}