|

楼主 |
发表于 2017-8-4 11:40:18
|
显示全部楼层
本帖最后由 q2045377 于 2017-8-4 11:42 编辑
还有个问题是 我先 accDB.initData(function() {
self.friendcheck()
});
在friendcheck中 先让data刷新然后来判断sqlite修改和保存,,,
但是第一次新增后保存不报错,,f12中已经能看见数据了
然后f5刷新,,就报错了,,错误原因是id冲突,,调试发现,,,猜可能原因是执行这段代码前data还
没有刷新成功就执行了判断然后新增,,应该如果处理
这是代码 清除缓存第一次进去报错,,页面刷新 报错 alert(rows) 一直是undefined
Model.prototype.friendcheck = function(event){ //核对好友信息有没有更新
var data1 =this.comp('friendbassData');
var data2 =this.comp('friendinformationData');
// this.comp("list4").refresh(true);
data2.refreshData(true)
var data3 =this.comp('userData');
var data4 =this.comp('beizhuData');
var row,rows,rowss,rowsss,beizhu,pp,userId; //row是friendbassData,rows是friendinfromation,rowss是userData,,rowsss是备注
data1.each(function(option){
userId=option.row.val('fuserId')
data2.each(function(options){
if(options.row.val('userId') == userId){
rows = options.row;
}
})
alert(rows) //alert(rows)
rowss= data3.find(['userId'],[userId]);
rowsss= data4.find(['fuserId'],[userId]);
var username =rowss[0].val('username');
var photo=rowss[0].val('photo');
var count1 =rowsss.length
if(count1==0){ //查询备注的值
beizhu=""
}else{
beizhu=rowsss[0].val('beizhu')
}
if(rows==""||rows==undefined||rows==null){ //说明好友里没有这条数据
data2.newData({
defaultValues:[{
"userId":userId,
"username":username,
"photo":photo,
"beizhu":beizhu
}]
});
pp=1
alert('要新增')
}else{ //修改
// alert(rows.val('username'))
// alert(username)
// if(rows.val('username')==username){alert('1')}else{alert('2')}
if(rows.val('username')!=username){ //判断一样不一样
alert('名字不一样')
data2.setValue("username", rowss[0].val('username'), rows);
}
if(rows.val('photo')!=photo){ //判断一样不一样
alert('头像不一样')
data2.setValue("photo",rowss[0].val('photo'), rows);
pp=1
}
}
})
if(pp==1){data2.saveData()}
}
|
|