微信小程序这种json数据要怎么在前端循环输出?{"0":{"day":"7","time_data":"数据"}}

微信小程序这种json数据要怎么在前端循环输出?{"0":{"day":"7","time_data":"数据"}},第1张

讲解下循环输出元素

这里写图片描述

这里写图片描述

后台存储的数据给事

{

var local_database = [

{

date: "Sep 18 2016",

post_title:"冬日校花",

post_image: "/images/1.jpg",

text: "美呀,美呀",

view_num: 112,

collect_num: 96,

turn_num: 515,

author_img: "/images/6.jpg",

author:"高晴",

dateTime:"24小时",

detail:"我爱你,爱的如此深沉",

postId:0,

music:{

url: '?down/46993.mp3',

title: "雪の华-南条爱乃",

coverImg: "/music/photo_new/T002R150x150M000001TEc6V0kjpVC.jpg?max_age=2592000"

},

},

{

date: "Sep 18 2016",

post_title: "冬日校花",

post_image: "/images/2.jpg",

text: "美呀,美呀",

view_num: 112,

collect_num: 96,

turn_num: 515,

author_img: "/images/6.jpg",

author: "高晴",

dateTime: "24小时",

detail: "我爱你,爱的如此深沉",

postId: 1,

music: {

url: '/yq/5092537.mp3',

title: "爱你-陈芳语",

coverImg: "/music/photo_new/T002R150x150M000001TEc6V0kjpVC.jpg?max_age=2592000"

},

},

{

date: "Sep 18 2016",

post_title: "冬日校花",

post_image: "/images/3.jpg",

text: "美呀,美呀",

view_num: 112,

collect_num: 96,

turn_num: 515,

author_img: "/images/6.jpg",

author: "高晴",

dateTime: "24小时",

detail: "我爱你,爱的如此深沉",

postId: 2,

music: {

url: '/yq/204586755.mp3',

title: "云烟成雨-房东的猫",

coverImg: "music/photo_new/T002R150x150M000001TEc6V0kjpVC.jpg?max_age=2592000"

},

},

{

date: "Sep 18 2016",

post_title: "冬日校花",

post_image: "/images/4.jpg",

text: "美呀,美呀",

view_num: 112,

collect_num: 96,

turn_num: 515,

author_img: "/images/6.jpg",

author: "高晴",

dateTime: "24小时",

detail: "我爱你,爱的如此深沉",

postId: 3,

music: {

url: '/yq/213919334.mp3',

title: "Your Song-Lady Gaga",

coverImg: "https://www.ztsjedu.com/#music/photo_new/T002R150x150M000001TEc6V0kjpVC.jpg?max_age=2592000"

},

},

]

module.exports={

postList:local_database,

}

}

前台使用for循环输出

这里写图片描述

这里写图片描述:

然后我们自己尝试构建一个for循环输出的小程序

app.js以及app.json app.wxss页面的构造就不放出来了,不会的童鞋可以看博主的第一个小程序文章

初步构造完成如下:

这里写图片描述

下面是for.js的构造:

// pages/for/for.js

Page({

/**

* 页面的初始数据

*/

data: {

data:[

{

name:"张三"

},

{

name:"李四"

},{

name:"王五"

}

],

},

/**

* 生命周期函数--监听页面加载

*/

onLoad: function (options) {

},

/**

* 生命周期函数--监听页面初次渲染完成

*/

onReady: function () {

},

})

for.wxml

<block wx:for="{{data}}" data-item="item" wx:for-index="idx" >

<view>

第{{idx}}次输出,姓名:{{item.name}}

</view>

</block>

讲解:

这里的for.js中,data是默认存在的函数,负责保存数据,前台的wxml文件只能调用data中的存在的数据

具体的调用方法为双大括号加上数据名

for.wxml中

需要循环输出,需要将for元素放入block中 ,并填入需要循环输出的数据:这里是data(注:这里的data是js中data中data,大家注意区分下,博主忘了区分)

然后data-item 是给data中的子元素添加一个调用的key名,类似于php的foreach,index则是调用的当前元素在数组中的数字下标,大家可以看到输出结果是从零开始的

1、服务器获取到的数组中嵌套 对象组成的数组,控制台输出:

2、解析并绑定服务器获取到的数据,.js文件:

3、绑定一层的shopList数据, .wxml文件:

4、绑定shopList数组中的二层equips数据,.wxml文件 中 只需要item.equips即可

最开始循环获取到数据后,总以为需要嵌套循环出二层数组对象,并分别绑定数据。兜兜转转绕了一大圈,发现只要将一级数组循环获取到,二层数组对象直接“item.xxx”就可以在wxml文件中直接进行数据绑定了。 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11230591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存