微信小程序ajax请求数据以及用template遍历数据 简单实例

时间:2023-02-21 21:57:38

1.wx.request请求数据

index.js文件

 
  onLoad: function () {    var that = this;    wx.request({      url: 'https://route.showapi.com/90-87?######=f1161d6416e74e1b821485dd8554ef6b&tid=###',//要遍历的url,http没有数据的话用https      error: function (XmlHttpRequest, textStatus, errorThrown) {        alert("操作失败!");      },      success: function (result) {        var postList = result.data.showapi_res_body.pagebean.contentlist;        console.log(postList);        that.setData({ indexDate: postList });      }    })}

打印的数据如下:

微信小程序ajax请求数据以及用template遍历数据 简单实例

2.新建template模板

微信小程序ajax请求数据以及用template遍历数据 简单实例


name属性就是模板的名字

3.在index.wxml引用模板

<!--content star--><view class='content'><import src="template/template.wxml" /> //引用模板文件<view hidden="{{currentTab!==0}}">   <block wx:for="{{indexDate}}" wx:for-item="newsItem"> //wx:for 遍历前面ajax请求返回的数据, wx:for-item 相当于别名   <template is="xinwen" data="{{...newsItem}}"/> //is是你要引用那个功能模快,一个模板文件里面可以写多个模块,data就是你要引用的数据,语法是
                                               //{{...newsItem}} newItem就是前面的别名,
</block>
</view></view>

4.在模板文件中直接调用数据就ok了

<template name="xinwen"><view class='content'>  <view>{{title}}</view>    <view class='content_img'>      <view wx:for="{{images}}" wx:for-item="images" wx:key="id">        <view class='flex-view-item ig'>              <image style="width: 200px; height: 200px;" src="{{images.u}}"></image>        </view>      </view>    </view><view class='flex-row img'>         <view wx:for="{{item.images}}" wx:for-item="images" wx:key="id">            <view class='flex-view-item ig'>              <image src="{{images.u}}" style='width:250rpx; height:250rpx; float:left;'></image>            </view>         </view>         </view>   <view>{{media_name}}</view>   </view></template>

5.效果,样式可以在调一下,在wxss文件

微信小程序ajax请求数据以及用template遍历数据 简单实例

6.这里遍历图片的时候遇到多层遍历,

微信小程序ajax请求数据以及用template遍历数据 简单实例

解决方法如下:

  <view wx:for="{{item.images}}" wx:for-item="images" wx:key="id">            <view class='flex-view-item ig'>              <image src="{{images.u}}" style='width:250rpx; height:250rpx; float:left;'></image>            </view>         </view>