轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 微信小程序 查看主题

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

发布者: ljf77 | 发布时间: 2017-8-25 03:39| 查看数: 9104| 评论数: 1|帖子模式

本文作者:lecepin,本系列转载已获授权,来自授权地址

实例内容

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

实例一: 条件渲染

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

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

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

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

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

  1. <block wx:if="{{true}}">
  2. <view> view1 view>
  3. <view> view2 view>
  4. block>

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


实例二: 数据遍历

index.js中加入数据。

index.wxml中读取数据。

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

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

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

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

实例三: 网络请求

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

数据接口:

接口内容:

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

修改index.js

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

  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5. data: {
  6. motto: 'Hello World',
  7. userInfo: {},
  8. myText: '你好,世界!',
  9. arr1: [{name:'张三', age:18},{name:'李四', age:19},{name:'王五', age:20}],
  10. removeData:'',
  11. },
  12. //事件处理函数
  13. bindViewTap: function() {
  14. wx.navigateTo({
  15. url: '../logs/logs'
  16. })
  17. },
  18. //自定义事件
  19. myEventHandle : function(){
  20. this.setData({myText:"世界你好"});
  21. },
  22. onLoad: function () {
  23. console.log('onLoad')
  24. var that = this
  25. //获取远程数据
  26. wx.request({
  27. url: '',
  28. header:{
  29. "Content-Type":"application/json"
  30. },
  31. data: {},
  32. success: function(res){
  33. that.setData({removeData:res.data.data});
  34. },
  35. })
  36. //调用应用实例的方法获取全局数据
  37. app.getUserInfo(function(userInfo){
  38. //更新数据
  39. that.setData({
  40. userInfo:userInfo
  41. })
  42. })
  43. }
  44. })

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

效果:

wx.request说明:

参数说明:


实例四: 获取本地图片

这里使用微信组件wx.chooseImage

修改index.js

  1. //index.js
  2. //获取应用实例
  3. var app = getApp()
  4. Page({
  5. data: {
  6. motto: 'Hello World',
  7. userInfo: {},
  8. myText: '你好,世界!',
  9. arr1: [{name:'张三', age:18},{name:'李四', age:19},{name:'王五', age:20}],
  10. myPic: null,
  11. },
  12. //事件处理函数
  13. bindViewTap: function() {
  14. wx.navigateTo({
  15. url: '../logs/logs'
  16. })
  17. },
  18. //自定义事件
  19. myEventHandle : function(){
  20. var that = this;
  21. wx.chooseImage({
  22. count: 1, // 默认9
  23. sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
  24. sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
  25. success: function(res){
  26. that.setData({myPic:res.tempFilePaths});
  27. },
  28. })
  29. },
  30. onLoad: function () {
  31. console.log('onLoad')
  32. var that = this
  33. //调用应用实例的方法获取全局数据
  34. app.getUserInfo(function(userInfo){
  35. //更新数据
  36. that.setData({
  37. userInfo:userInfo
  38. })
  39. })
  40. }
  41. })

修改index.wxml

效果:

wx.chooseImage说明

wx.chooseImage参数:

最新评论

淡写╮青春 发表于 2022-4-27 14:32
音乐源码支持采集

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表