先来了解一下data的取值与赋值吧
data 是页面第一次渲染使用的初始数据。页面加载时,data 将会以JSON字符串的形式由逻辑层传至渲染层,因此data中的数据必须是可以转成JSON的类型:字符串,数字,布尔值,对象,数组。
{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数
[ ]中括号,表示一个数组,也可以理解为一个数组对象
渲染层可以通过 WXML 对数据进行绑定,通过花括号进行数据绑定
如:
.js里定义的data为
data: {list:{},msg:'你好呀!',arr:['h','e','l','l','o']}
那么.wxml这样取值,两个花括号把data里定义的参数名括起来,如:{{msg}}
<view>{{msg}}</view>
来看看数组arr怎么取
<view >{{arr[0]}} {{arr[1]}} {{arr[2]}} {{arr[3]}}</view> <view> {{arr}}</view>
list:{} 定义的是一个对象,如果有多组,在取值的时候可以通过wx:for进行遍历。下面结合接口一起看看如何展示
wx.request网络请求
wx.request是小程序客户端与服务器端交互的接口(类似javascript的ajax请求),只能发起 HTTPS 请求。一个微信小程序,同时只能有5个网络请求连接,因此开发者要控制好请求的数量。由于request操作依赖网络,会造成等待,影响用户体验,因此目前只支持异步模式。
//onLoad函数对页面状态数据的初始化,是生命周期回调—监听页面加载onLoad: function (options) {wx.request({url: '这里填你需要请求的URL接口',success: res =>{console.log('获得接口数据',res)//打印一下结果this.setData({list:res.data.data //将获取的数据赋值给data里的list})}})},
.wxml代码
<view>{{msg}}</view><view >{{arr[0]}} {{arr[1]}} {{arr[2]}} {{arr[3]}}</view> <view> {{arr}}</view><view class="goods" wx:for="{{list}}"><view class="good" bindtap="goDetail" data-id="{{item.id}}"><image src="{{item.imgurl}}"></image><view> 标题:{{item.title}}。</view><view>单价:{{item.price}}</view></view></view>
.wxss代码
.goods{width: 100%;}.good{text-align: center;padding-top:5rpx ;padding-bottom: 10rpx;border-bottom: 1rpx solid gainsboro;}image{width: 300rpx;height: 180rpx;}