zoukankan      html  css  js  c++  java
  • 微信小程序请求wx.request数据,渲染到页面

    先说一下基本使用。官网也有。

    比如说你在App.js里面有这些变量。想修改某些值。
    data: {
    main_view_bgcolor: "",
    border: "",
    }
    修改方式有两种,一是直接用“=”赋值,这种是可以修改,并且你把修改之后的值打印出来可以看到确实修改了,但是不推荐使用这样的方式。
    因为,一般我们想修改data里面的值,往往都是因为这些数据都在main.wxml中绑定了,可以实现动态修改并实时刷新显示。刚刚这种方式容易发生数据被修改但是页面没有变化。
    所以说一下下面这种方式:
    在你绑定的自定义函数(往往都是绑定的点击事件)里面,
    this.setData({
    border:"aa"//这个border跟上面data里面的border是对应的。
    })

    //这里有一个ES6 this作用域的问题,切记...

    这种方式,点击之后触发事件,执行函数,更新数据,同时可以实时更新渲染界面。

    下面是一个例子:(我关闭了域名和https验证)

    item.wxml

    <view wx:for="{{userData}}" wx-for-index="index" wx-for-item="item">
    {{index}}: {{item.name}}
    </view>

    item.js

    // pages/items/item.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        'message':'message-string',
        'userData':[{id:"123",name:"123"},{id:"456",name:"456"}] //初始值
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        var that = this;//把this对象复制到临时变量that
        const wxreq = wx.request({
          url: 'http://jsonplaceholder.typicode.com/users',
          data:{
            //id:"1",
            //name:'Leanne Graham'
          },
          success: function (res){
            console.log(res.data);
            this.userData = res.data; //无效不能实时的渲染到页面
            that.setData({ userData: res.data });//和页面进行绑定可以动态的渲染到页面
        
          },
          fail: function (res){
            console.log(res.data);
            this.userData = "数据获取失败";
          }
        })
      
      },
    
      /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () {
      
      },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () {
      
      },
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () {
      
      },
    
      /**
       * 生命周期函数--监听页面卸载
       */
      onUnload: function () {
      
      },
    
      /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () {
      
      },
    
      /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () {
      
      },
    
      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function () {
      
      }
    })

    结果:

    参考:https://www.jb51.net/article/105467.htm

  • 相关阅读:
    Gecko Bootloader的介绍(Silicon Labs)【一】
    使用模板新建ZigBee工程的方法
    代码控制ZigBee网络密钥的生成
    Ubuntu20编译最新版Android源码教程
    C和C++常用代码片段整理
    Java易错的知识点整理
    仿IntelliJ Darcula的Swing主题FlatLaf使用方法
    PuTTYTabManager汉化版
    WinSCP整合SecureCRT打开终端
    异想家博客图片批量压缩程序
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9394474.html
Copyright © 2011-2022 走看看