关于后台数据使用for循环处理时只拿到最后一条的问题

data: {

    movies:[],

  },

onLoad: function (options) {

    let that = this

    wx.request({

      url:'https://api.douban.com/v2/movie/in_theaters',

      header: {

        "Content-Type": "json"

      },

      success:function(res){

        let data = res.data.subjects

        for(let i=0;i<data.length;i++){

          that.setData({

            movies: data[i]

          })

        }

      }

    })

 },

只显示最后一条

https://img2.mukewang.com/5c7e16030001014603590532.jpg

POPMUISE
浏览 1518回答 2
2回答

繁花不似锦

你设置的是字典,字典对应的是数据的最后一条。你如果想取所有的值,可以试着使用数组而不是字典。比如说,let data = res.data.subjects;&nbsp; &nbsp; &nbsp; &nbsp;let arr = [];&nbsp; &nbsp; for(let i=0;i<data.length;i++){&nbsp; &nbsp; &nbsp;arr[i] = data[i];&nbsp; &nbsp; }

肥皂起泡泡

大哥,那把setData放到循环里写。每次都是拿当前值覆盖,除了最后一条还会有啥that.setData({&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; movies: data[i]&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript