前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序入门《二》实例:条件渲染、数据遍历、网络请求、获取本地图片

微信小程序入门《二》实例:条件渲染、数据遍历、网络请求、获取本地图片

作者头像
极乐君
发布2018-02-05 16:11:19
1.6K0
发布2018-02-05 16:11:19
举报
文章被收录于专栏:极乐技术社区极乐技术社区

实例内容

  • 条件渲染
  • 数据遍历
  • 网络请求
  • 获取本地图片

实例一: 条件渲染

如果mottoHello World,则输出你好世界,否则原样输出。

这里是分支条件判断,直接在视图文件里修改,修改index.wxml

<text wx:if="{{motto != 'Hello World'}}" class="user-motto">{{motto}}text> <text wx:else>你好世界text>

wx:ifwx:elsewx:elif,是微信条件判断的控制属性,需要添加到组件中使用。

但是如果我们想一次性判断多个组件标签,我们可以使用一个标签将多个组件包装起来,并在上边使用wx:if控制属性。

<block wx:if="{{true}}"> <view> view1 </view> <view> view2 </view> </block>

注意: 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

实例二: 数据遍历

index.js中加入数据。

index.wxml中读取数据。

wx:for-item可以指定数组当前元素的变量名 wx:for-index可以指定数组当前下标的变量名

这两个项也可以不指定,默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item

类似block wx:if,也可以将wx:for用在标签上,以渲染一个包含多节点的结构块。例如:

<block wx:for="{{[1, 2, 3]}}"> <view> {{index}}: </view> <view> {{item}} </view> </block>

实例三: 网络请求

当用ajax进行请求的时候,最讨厌的就是跨域问题,而在小程序上是没有这个问题的。

数据接口:https://raw.githubusercontent.com/jiangzy27/how_to_react/master/score.json

接口内容:

{"data":[{"id":201701,"name":"Jackson","score":100},{"id":201702,"name":"Mike","score":78},{"id":201703,"name":"Joe","score":62}]}

修改index.js

加入变量,添加请求的方法。

//index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, myText: '你好,世界!', arr1: [{name:'张三', age:18},{name:'李四', age:19},{name:'王五', age:20}], removeData:'', }, //事件处理函数 bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, //自定义事件 myEventHandle : function(){ this.setData({myText:"世界你好"}); }, onLoad: function () { console.log('onLoad') var that = this //获取远程数据 wx.request({ url: 'https://raw.githubusercontent.com/jiangzy27/how_to_react/master/score.json', header:{ "Content-Type":"application/json" }, data: {}, success: function(res){ that.setData({removeData:res.data.data}); }, }) //调用应用实例的方法获取全局数据 app.getUserInfo(function(userInfo){ //更新数据 that.setData({ userInfo:userInfo }) }) } })

修改index.wxml,进行数据读取。

效果:

wx.request说明:

参数说明:


实例四: 获取本地图片

这里使用微信组件wx.chooseImage

修改index.js

//index.js //获取应用实例 var app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, myText: '你好,世界!', arr1: [{name:'张三', age:18},{name:'李四', age:19},{name:'王五', age:20}], myPic: null, }, //事件处理函数 bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, //自定义事件 myEventHandle : function(){ var that = this; wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有 sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有 success: function(res){ that.setData({myPic:res.tempFilePaths}); }, }) }, onLoad: function () { console.log('onLoad') var that = this //调用应用实例的方法获取全局数据 app.getUserInfo(function(userInfo){ //更新数据 that.setData({ userInfo:userInfo }) }) } })

修改index.wxml

效果:

wx.chooseImage说明

wx.chooseImage参数:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极乐技术社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实例一: 条件渲染
  • 实例二: 数据遍历
    • wx.request说明:
    • 实例四: 获取本地图片
      • wx.chooseImage说明
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档