微信小程序快速入门02(含案例)

这篇具有很好参考价值的文章主要介绍了微信小程序快速入门02(含案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端

🏡浩泽学编程:个人主页

 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》
              《RabbitMQ》《Spring》《SpringMVC》
🛸学无止境,不骄不躁,知行合一

前言

讲诉内容:页面导航、页面事件。


一、页面导航

页面导航指的是页面之间的相互跳转。例如,浏览器中实现页面导航的方式有如下两种:

  • < a > 链接
  • location.href

小程序实现页面导航的两种方式:

  • 声明式导航
    • 在页面上声明一个< navigator >导航组件
    • 通过点击< navigator >组件实现页面跳转
  • 编程式导航
    • 调用小程序的导航API,实现页面的跳转

1.声明式导航

导航到tabBar

  • tabBar 页面指的是被配置为 tabBar 的页面
  • 在使用< navigator >组件跳转到指定的tabBar 页面时,需要指定 ur 属性和 open-type 属性,其中:
    • url 表示要跳转的页面的地址,必须以/开头
    • open-type 表示跳转的方式,必须为 switchTab

示例代码如下:

<navigator url="/pages/message/message" open-type="switchTab">导航到消息页面</navigator>

导航到非tabBar

  • 非 tabBar 页面指的是没有被配置为 tabBar 的页面
  • 在使用< navigator >组件跳转到普通的非 tabBar 页面时,则需要指定 url 属性和 open-type 属性,其中:
    • url 表示要跳转的页面的地址,必须以 / 开头
    • open-type 表示跳转的方式,必须为 navigate
  • 注意:为了简便,在导航到非 tabBar 页面时,open-type="navigate"属性可以省略

示例代码如下:

<navigator url="/pages/list/list" open-type="navigate">导航到list页面</navigator>

后退导航

  • 如果要后退到上一页面或多级页面,则需要指定 open-type 属性和 delta 属性,其中:
    • open-type 的值必须是 navigateBack,表示要进行后退导航
    • delta 的值必须是数字,表示要后退的层级
  • 注意:为了简便,如果只是后退到上一页面,则可以省略 delta 属性,因为其默认值就是 1

示例代码如下:

<navigator open-type="navigateBack" delta='1'>返回上一页</navigator>

导航传参
navigator组件的url 属性用来指定将要跳转到的页面的路径。同时,路径的后面还可以携带参数:

  • 参数与路径之间使用?分隔
  • 参数键与参数值用 =相连
  • 不同参数用 & 分隔

代码示例如下:

<navigator url="/pages/list/list?name=zhangsan&age=20">跳转到list页面</navigator>

2.编程式导航

导航到tabBar页面
调用 wx.switchTab(Obiect obiect) 方法,可以跳转到 tabBar 页面。其中 Object 参数对象的属性列表如下:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端
示例如下:

<button bindtap="gotoMessage">跳转到message页面</button>
  gotoMessage(){
    wx.switchTab({
      url: '/pages/message/message',
    })
  }

导航到非tabBar页面
调用 wx.navigateTo(Object object)方法,可以跳转到非 tabBar 的页面。其中 Object 参数对象的属性列表如下:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端
示例如下:

<button bindtap="gotoList">跳转到list页面</button>
  gotoList(){
    wx.navigateTo({
      url: '/pages/list/list',
    })
  }

后退导航
调用 wx.navigateBack(Object object) 方法,可以返回上一页面或多级页面。其中 Object 参数对象可选的属性列表如下:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端
示例如下:

<button bind:tap="gotoBack">后退</button>
  gotoBack(){
    wx.navigateBack({
      delta:1
    })
  }

导航传参

<button bind:tap="gotoList2">跳转到list页面</button>
 gotoList2(){
    wx.navigateTo({
      url: '/pages/list/list?name=zs&age=20',
    })
  }

二、页面事件

1.下拉刷新

  • 下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。

  • 启用下拉刷新有两种方式:

    • 全局开启下拉刷新
      • 在app,json 的 window 节点中,将 enablePullDownRefresh 设置为 true
    • 局部开启下拉刷新
      • 在页面的json 配置文件中,将enablePullDownRefresh 设置为 true
  • 在实际开发中,推荐使用第2 种方式,为需要的页面单独开启下拉刷新的效果

  • 在全局或页面的json 配置文件中,通过 backgroundColor 和 backgroundTextStyle 来配置下拉刷新窗的样式,其中:

    • backgroundColor 用来配置下拉刷新窗口的背景颜色,仅支持16进制的颜色值
    • backgroundTextStyle 用来配置下拉刷 loading 的样式,仅支持 dark 和 light
  • 在页面的.js 文件中,通过onPullDownRefresh0 函数即可监听当前页面的下拉刷新事件

例子:
例如,在页面的 wxml中有如下的 UI结构,点击按钮可以让 count 值自增+1:

<view>count值是:{{count}}</view>
<button bind:tap="addCount">+1</button>
  addCount(){
    this.setData({
      count: this.data.count + 1,
    })
  }

在触发页面的下拉刷新事件的时候,如果要把 count 的值重置为0,示例代码如下:

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      count: 0
    })
  }

当处理完下拉刷新后,下拉刷新的 loading 效果会一直显示,不会主动消失,所以需要手动隐藏下拉刷新的loading 效果。此时,调用wxstopPullDownRefresh0 可以停止当前页面的下拉刷新。示例代码如下:

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      count: 0
    })
    wx.stopPullDownRefresh()
  }

2.上拉触底

  • 上拉触底是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而加载更多数据的行为
  • 在页面的 js 文件中,通过 onReachBottom( 函数即可监听当前页面的上拉触底事件。
  • 上拉触底距离指的是触发上拉触底事件时,滚动条距离页面底部的距离
  • 可以在全局或页面的 .json 配置文件中,通过 onReachBottomDistance 属性来配置上拉触底的距离
  • 小程席默认的触底距离是 50px,在实际开发中,可以根据自己的需求修改这个默认值。

案例:
效果:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端
实现步骤:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端
上拉触底节流处理步骤:
微信小程序快速入门02(含案例),微信小程序,微信小程序,小程序,java,vue,js,前端

<view wx:for="{{colorList}}" wx:key="index" class="num-item" style="background-color: rgba({{item}});">{{item}}</view>
.num-item{
  border: 1rpx solid #efefef;
  border-radius: 8rpx;
  line-height: 200rpx;
  margin: 15rpx;
  text-align: center;
  text-shadow: 0rpx 0rpx 5rpx #fff;
  box-shadow: 1rpx 1rpx 6rpx #aaa;
}
data: {
    colorList: [],
    isloading: false
  },
getColors(){
    this.setData({
      isloading: true
    })
    //loading提示效果
    wx.showLoading({
      title: '数据加载中...',
    })
    wx.request({
      url: 'https://applet-base-api-t.itheima.net/api/color ',
      method: 'GET',
      success: ({data: res}) => {
        this.setData({
          colorList: [...this.data.colorList,...res.data]
        })
      },
      complete: ()=> {
        wx.hideLoading()
        this.setData({
          isloading: false
        })
      }
    })
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if(this.data.isloading) return
    this.getColors()
  }

总结

以上就是微信小程序学习讲解。文章来源地址https://www.toymoban.com/news/detail-787455.html

到了这里,关于微信小程序快速入门02(含案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序快速入门

    在这里首先祝大家国庆节快乐,其实原本文章都没有准备好,也没有打算更文的,那还是将就一下吧,发个简单的。 相信大家对微信小程序并不陌生,以前我们接触网络刚开始是CS架构,我们可以下载很多的电脑软件,游戏各种都是连线玩的,后来呢,我们都知道BS架构更加

    2024年02月11日
    浏览(38)
  • 微信小程序快速入门【二】

    🙋‍♀️上一篇文章我们已经入门了小程序开发,申请了小程序号,也准备了开发环境,今天我们来分析一下小程序的项目结构。 🌸🌸🌸🌷🌷🌷💐💐💐🌷🌷🌷🌸🌸🌸 🎃 小程序的项目结构: 👉小程序的项目结构如下图所示,小程序的项目主要包含四种文件: 1️

    2024年02月11日
    浏览(39)
  • 微信小程序快速入门【三】

    🙋‍♀️微信小程序的页面是由WXML, WXSS, JavaScript 和JSON文件组成⬇️ WXML 是类似于HTML的标记语言,用于描述页面的结构。 WXSS 是类似于CSS的样式语言,用于描述页面的外观。 JavaScript 是用于处理页面的逻辑和交互的脚本语言。 JSON 是用于配置页面的属性和引入组件的数据格

    2024年02月16日
    浏览(36)
  • 微信小程序快速入门【四】

    不同于Android应用和iOS应用直接运行于Andorid系统和iOS系统,微信小程序运行在微信提供的宿主环境中,由于微信已经替我们抹平了不同平台的差异,所以微信小程序能够实现跨平台,且能够实现很多普通网页无法实现的功能。我们将以之前建立的Test项目为例介绍一下微信小程

    2024年02月07日
    浏览(51)
  • 微信小程序快速入门03

    🏡浩泽学编程 :个人主页  🔥 推荐专栏 :《深入浅出SpringBoot》《java项目分享》               《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 本文讲诉:生命周期、WXS脚本。 生命周期(Life Cycle) 是指一个对象从创建 - 运行 -销的整个阶段,强调的

    2024年01月20日
    浏览(41)
  • 微信小程序快速入门【一】

    🙋‍♀️自2017年微信推出《微信小程序》以来,阿里、百度、字节跳动等一众大佬平台相继也推出了自己的小程序体系。 👉由于微信自身的强势社交属性,以及其对小程序的战略定位(连接人与服务)的前提下进行了持续的大力支持,所以到目前为止,微信小程序还是所有

    2024年02月08日
    浏览(45)
  • 微信小程序低功耗蓝牙BLE快速开发js

    目的: 1、为了能三分钟快速开发BLE模块,特此做一个笔记,按照笔记的顺序开发,能够简单、快速、规范。 2、如果以后觉得有必要改动的地方就在这里更改。 3、主要是记录BLE连接的步骤。 https://note.youdao.com/ynoteshare/index.html?id=d662c9c1c58121ec28901d78d9aa5e80 比较完整的微信小程

    2024年02月10日
    浏览(68)
  • 微信小程序-JAVA Springboot项目-后端搭建-项目搭建02

    目录 一、序言 二、后端搭建 三、最终效果         本文主要讲述一个微信小程序前后端项目搭建的过程,主要内容包括小程序(前端)搭建和后端搭建,其中会描述可能遇到的问题以及解决措施,文章将会分为几个部分进行讲述, 这章将讲述后端(Springboot项目)搭建的内

    2024年02月04日
    浏览(47)
  • 微信小程序前后端开发快速入门(完结篇)

    这篇是微信小程序前后端快速入门完结篇了,今天利用之前学习过的所有知识做一个新的项目「群登记助手v1.0」小程序。 整体技术架构:小程序原生前端+小程序云开发。 经历了前面教程的学习,大家有了一定的基础,所以本次分享重心主要是带着大家理清楚逻辑相关的云开

    2024年02月12日
    浏览(40)
  • 从0到1之微信小程序快速入门(03)

    目录 什么是生命周期函数 WXS脚本   ​编辑 与 JavaScript 不同 纯数据字段  组件生命周期 定义生命周期方法 代码示例 组件所在页面的生命周期 代码示例 插槽 什么是插槽 启用多插槽  ​编辑 定义多插槽  组件通信 组件间通信 监听事件 触发事件 获取组件实例 自定义的组

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包