两层循环,怎处理的?
来源:20-14 电影页面数据绑定(下)

qq_欠你的幸福_0
2017-05-20
循环中有嵌套循环,第二层循环的数据需要用第一层数据的id去获取,这时怎处理才行?
4回答
-
7七月
2017-05-21
你这样重复的setData肯定是覆盖的,setData通常是setData一个数组,然后再wxml里做wx:for循环,wx:for循环也是可以嵌套的
00 -
qq_欠你的幸福_0
提问者
2017-05-21
getsomething: function (res) {
var that = this;
var friends = [];
for (var idx in res.data) {
var data = res.data[idx];
var temp = {
content: data.content,
datetime: data.datetime,
id: data.id
}
friends.push(temp);
var id = data.id;
that.getpics(id);
var readyData = {
friends: friends,
}
this.setData(readyData);
}
},
getpics:function(id){
var that = this;
wx.request({
url: 'https://small.jingjiexinxi.com/index.php/home/index/getfriendspics',
data:{
id:id
},
success: function (res) {
console.log(res)
that.getsomepics(res);
//that.setData(res.data);
}
})
},
getsomepics:function(res){
var that = this;
var friendspics = [];
for (var idx in res.data) {
var data = res.data[idx];
var temp = {
path: data.path,
datetime: data.datetime,
id: data.id
}
friendspics.push(temp);
var readyData1 = {
friendspics: friendspics,
}
this.setData(readyData1);
}
},
00 -
qq_欠你的幸福_0
提问者
2017-05-20
我问具体点。
比如第一层数据有5组,每组里面都有一个第二层循环。第一层数据顺利拿到,正常显示。在for语句内,用第一层的变量去获取第二层的数据,console出来有5个object,,但setdata后,始终只有1个object显示。有点怀疑是被覆盖掉了。但又想不出法子解决。请老师说具体些。谢谢
00 -
7七月
2017-05-20
第二次循环直接使用第一层中定义的变量。
00
相似问题