最近在uni-app搭建的微信小程序中,修改data中的变量极其不方便,一直想用微信小程序中的this.setData,今天就来说一下这个问题。
一、在uni-app中直接使用this.setData
this.setData({
loading: false,
areaList: response.data.data
})
只能修改为:
that.appleShow = true;
that.noVisitFirst = false;
二、解决方式:
在methods中重写setData方法
setData:function(obj){
let that = this;
let keys = [];
let val,data;
Object.keys(obj).forEach(function(key){
keys = key.split('.');
val = obj[key];
data = that.$data;
keys.forEach(function(key2,index){
if(index+1 == keys.length){
that.$set(data,key2,val);
}else{
if(!data[key2]){
that.$set(data,key2,{});
}
}
data = data[key2];
})
});
}
|