微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用

一、显示loading效果

        文档地址:wx.showLoading(Object object) | 微信开放文档

        请求前 显示loading 效果,请求结束后隐藏loading

// 在请求模块中
wx.showLoading({
 title: '加载中'
})
当请求完成后,关闭加载
    wx.request({
      success: ()=>{ // ... }
      complete() {
        setTimeout(() => {
         // 这里延时一秒钟看到效果,关闭加载中效果
          wx.hideLoading()
        }, 1000)
      }
    })

 二、上拉触底节流效果

        下拉触底需要时间比较长,但是可能会一直进行请求,我们可以设置一个 加载状态,用来控制什么时候 才可以加载

        当我们loading 效果为true 的时候 证明上次加载还没有结束,所以不进行加载

// js文件
data: {
  colorList: [],
  // 设置加载状态
  isLoading: false
},
  getColorList() {
    // 请求开始 设置加载时状态为true
    this.setData({
      isLoading: true
    })
    wx.request({
      // url ...
      // success ...
      complete: () => {
        wx.hideLoading()
        // 请求结束后关闭加载效果
        this.setData({
          isLoading: false
        })
      }
    })
  },

三、小程序生命周期

        文档地址:App(Object object) | 微信开放文档

1、页面生命周期函数

// 页面的 .js 文件
Page({
  onLoad: function (option) { }, // 监听页面加载,个页面只调用1次function
  onShow: function () { },       // 监听页面显示
  onReady: function () { },      // 监听页面初次渲染完成,一个页面只调用1次
  onHide: function () { },       // 监听页面隐藏
  onUnload: function () { }    // 监听页面卸载,一个页面只调用1次
})

2、全局小程序生命周期函数

// app.js 文件
App({
  // 小程序初始化完成时,执行此函数,全局只触发一次。可以做一些初始化的工作。
  onLaunch: function (options) { },
  // 小程序启动,或从后台进入前台显示时触发。
  onShow: function (options) { },
  // 小程序从前台进入后台时触发。
  onHide: function () { },
})

四、WXS(微信版 Js)

        文档地址:WXS | 微信开放文档

        1、WXS 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。

        2、WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致,不能使用ES6语法,例如:解构、const、let、箭头函数等

        3、由于运行环境的差异,在 iOS 设备上小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

        4、他不能作为事件处理函数,基本上都是使用当作过滤器

1、基础变量和应用页面

 在wxml中进行 合写

// 显示在页面上
<view>{{m1.a}}</view>
<view>{{m1.toUpper('aaa')}}</view>

// 声明模块名称
<wxs module="m1">
  var str = 'abc'
  // 必须导出
  module.exports = {
    a: str
  }
  // 声明函数
  module.exports.toUpper = function(val){
    return val.toUpperCase() // 转换为大写
  }
</wxs>

引入模块使用

// .wxml
<view>{{m2.name}}</view>
<view>{{m2.toLower('BBB')}}</view>

// 引入并命名
<wxs module="m2" src="/utils/tools.wxs"></wxs>
var name = '外部引入的wxs'
module.exports.name = name
module.exports.toLower = function (val) {
  return val.toLowerCase() // 转换为小写
}

五、组件的创建与使用

        1、创建组件

        

        2、组件注册及使用

         指南-使用方法     文档地址:自定义组件 | 微信开放文档

         框架-components文档地址:Component(Object object) | 微信开放文档

           全局注册

             在app.json中进行注册

  "usingComponents": {
    "com-b":"/pages/comb/comb"
  }

           局部注册

             在使用的页面中的json 文件中 与page 平级注册

  "usingComponents": {
    "com-a":"/pages/coma/coma"
  }

应用页面上

<com-a></com-a>
<com-b></com-b>

3、WXSS作用范围

注意:

        1. 操作组件样式时,只使用类名样式

        2. 组件的样式默认有隔离行(scoped),页面的类样式无法作用到组件中;组件的样式,默认无法作用到页面中

        3. 不要使用 属性选择器、标签选择器、id选择器操作组件中的样式

手动调整 wxss 的作用范围

在组件中的js文件中 添加options 配置 自定义组件 | 微信开放文档

Component({
    // isolated:  页面与组件样式相互隔离(默认)
    // apply-shared:  页面与组件的样式相互作用
    // shared:  页面的样式会作用到组件,组件的样式不会作用到页面

  options:{
      styleIsolation:"isolated"  // 默认
  },

  // ...
})

4、声明事件与数据

        与页面一致,使用data对象中存储数据,但是方法需要在method中声明

// coma.js
  data: {
    msgComA: 'comA的私有数据'
  },
  methods: {
    comaHandel(e){
      console.log('e',e);
      console.log(this.data.msgComA);
    }
  }

5、向组件传递数据

// 页面文件
<com-b str='传递的str数据' ></com-b>

// 组件js文件 类似于vue 的props
properties: {
  str:String
},

它可以像data里面的数据一样通过 setData 来进行修改

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自定义微信小程序loading组件显示载入动画方法,可以按以下步骤进行: 1. 创建一个新的组件:首先,在小程序项目中创建一个新的组件,在组件目录下新建一个文件夹,例如命名为loading,在该文件夹下创建两个文件:loading.wxml和loading.wxss,用于编写组件的结构和样式。 2. 编写组件的结构:在loading.wxml文件中,可以使用合适的标签和样式来构建想要的载入动画效果,例如可以使用一个旋转的loading图标或者是一个逐帧动画来展示载入过程。 3. 定义组件的样式:在loading.wxss文件中,可以编写组件的样式代码,为载入动画提供合适的样式,包括大小、颜色、位置等,并通过class或id来选择组件的样式。 4. 在页面中引用组件:在需要显示载入动画的页面中,引入刚刚创建loading组件,在页面的json文件中配置该组件的路径以及需要传递给组件的数据。 5. 设置组件显示和隐藏:在页面的js文件中,通过设置数据来控制loading组件显示和隐藏状态。可以通过设置组件的data中的某个属性为true或者false来控制组件显示和隐藏。 6. 调用组件:在需要进行数据加载的时候,通过调用loading组件显示方法来显示载入动画,例如在数据请求的开始和结束的地方分别调用。 通过上述步骤,就可以自定义微信小程序loading组件显示载入动画方法。可以根据实际需求和设计要求来创建和设计组件的结构和样式,并通过设置组件显示和隐藏状态来控制显示载入动画的时机。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值