小程序调用新闻接口实现列表循环

2019-07-03 11:27:20 浏览数 (1)

今天我又来调接口了,调用天气接口,音乐接口,新闻接口,图片接口,调完之后瞬间又觉得自己心情美美哒了,哈哈哈。

找到了一个比较好用的新闻接口 https://www.apiopen.top/journalismApi

1:首先写js,老样子 用request请求接口url,当请求成功的时候,在控制台打印一下返回的res.data数据,在控制台可以看到打印了接口数据了,在请求接口成功之后,用setData接收数据,并且需在data中声明一个接收数据的变量。

代码语言:javascript复制
Page({
  data: {
   // 3:需在data中声明一个接收数据的变量。
    list: []
  },
  onLoad: function (options) {
    wx.request({
      url: 'https://www.apiopen.top/journalismApi',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        //1:在控制台打印一下返回的res.data数据
        console.log(res.data)
        //2:在请求接口成功之后,用setData接收数据
        this.setData({
           //第一个data为固定用法,第二个data是json中的data
          list: res.data.data
        })
      }
    })
  },
})

我在 this.setData里面写的, list: res.data.data, 第一个data为固定用法,第二个data是json中的data,因为新闻列表里面的所有的json数据都是放在data里面了。

2:css我就不多说了

代码语言:javascript复制
.item {
  width: 100%;
  height: 186rpx;
  position: relative;
  display: flex;
  margin: 10rpx 10rpx;
  border-bottom: 1px solid rgb(197, 199, 199);
}

.item .number-wrapper {
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.item .img {
  width: 150rpx;
  height: 150rpx;
  padding: 20rpx;
}

.number-wrapper .name {
  margin: 10rpx 40rpx 20rpx 10rpx;
  font-size: 35rpx;
  overflow: hidden;
}

.count {
  font-size: 34rpx;
}

3:然后最重要的就是数据渲染,在wxml里面进行操作,首先是循环列表,那就要写一个wx:for列表渲染,然后在取出自己想要的数据,这里想要取出图片,标题和时间,根据json的数据结构来解析即可。

代码语言:javascript复制
<view wx:for="{{list.auto}}" wx:key="index">
  <view class="item">
    <image class="img" src="{{item.picInfo[0].url}}" mode="scaleToFill"></image>
    <view class="number-wrapper">
      <text class="name">{{item.title}}</text>
      <view class="count-wrapper">
        <text class="count">{{item.ptime}}</text>
      </view>
    </view>
  </view>
</view>

最重要的是图片的解析,完成之后,可以看到,接口数据已经渲染在前端界面了,这个时候已经完成了小程序调用新闻列表实现列表循环这个需求啦。

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1 90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。 欢迎关注【编程微刊】公众号,回复【领取资源】,500G编程学习资源干货免费送。

0 人点赞