【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页(含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等)

简介: 【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页(含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等)

开始前,请先完成自定义底部导航的开发,详见

【微信小程序-原生开发】实用教程03-自定义底部导航(含自定义tabBar导航高亮需点击两次的解决方案)

https://blog.csdn.net/weixin_41192489/article/details/128707606

需求描述

手机上的app启动时,通常会先展示一个倒计时 3 秒的广告页(更良心一点的,可能是启动页,或欢迎页)

代码实现

app.json

新增欢迎页路径,并放在第一行(小程序启动后,默认展示第一个路径)

"pages/welcome/index",

保存后,pages 文件夹会自动生成对应的 welcome 页的四个文件

pages\welcome\index.wxml

<view class="topBox">
  <view class="jumpBox">
    <view class="time">{{time}}</view>
    <view bind:tap="gotoIndex">跳过</view>
  </view>
</view>

<view class="slogan slogan_left">
  诚挚缘分 
</view>
<view  class="slogan slogan_right">
  成就梦想
</view>

标签 view

功能同 html 中的 div,就是一个默认撑满整行的盒子。

{{ }}

与 vue 的语法相同,用于在页面上渲染变量

bind:tap

  • bind: 为绑定
  • tap 为移动端的点击事件

所以 bind:tap 的含义即绑定点击事件,同 vue 的 @click

( gotoIndex 是 js 中定义的事件函数,详见下文 js 中的代码 )

pages\welcome\index.wxss

/* pages/welcome/index.wxss */
.topBox {
  display: flex;
  justify-content: flex-end;
  padding-top: 20rpx;
  padding-right: 20rpx;
}
.jumpBox {
  color: white;
  background: rgba(182, 179, 179, 0.911);
  display: flex;
  align-items: center;
  border-radius: 30rpx;
  padding: 10rpx 20rpx;
}
.time{
  padding-right: 10rpx;
}
.slogan {
  font-size: 80rpx;
  font-weight: bold;
  color: #027CBE;
  line-height: 2;
}
.slogan_left {
  padding-left: 60rpx;
}
.slogan_right {
  text-align: right;
  padding-right: 60rpx;
}


wxss 的语法和css基本相同,只是将单位px改为 rpx,因其能自适应不同宽度和设备像素比的移动端设备。

pages\welcome\index.js

// 定义定时器 timer
let timer = null
Page({
  data: {
    // 页面读秒
    time: 3,
  },
  // 事件函数--跳转到首页
  gotoIndex: function () {
    // 清除定时器
    clearInterval(timer)
    // 跳转到首页 - 关闭所有页面后,打开指定页面
    wx.reLaunch({
      url: '/pages/index/index'
    })
  },
  // 生命周期--页面渲染完成时执行
  onReady() {
    // 开始倒计时
    timer= setInterval(() => {
      // 每过 1 秒,倒计时减一
      this.setData({
        time: this.data.time - 1
      })
      // 当倒计时为0时,跳转到首页
      if(this.data.time===0){
        this.gotoIndex()
      }
    }, 1000)
  },
})

定义变量

  data: {
    time: 3,
  },


与 vue 不同,无需 return。

读取变量

this.data.time

与 vue 不同,this 代表的当前页面实例,需从 data 属性中读取变量

修改变量的值

      this.setData({
        time: this.data.time - 1
      })

定义函数

  gotoIndex: function () {
  
  },

通常用于绑定事件,当然,也可以用于封装特定的业务逻辑。

类似 vue 中 methods 里写的方法,留心写法的差异!

调用函数

this.gotoIndex()

与 vue 相同

页面跳转 wx.reLaunch

会先关闭所有页面后,再打开指定页面

    wx.reLaunch({
      url: '/pages/index/index'
    })
  • url 的值需和 app.json中定义的页面路径对应,注意 pages 前有 /

生命周期 onReady

小程序的页面渲染和 vue 一样,也有完整的生命周期

onReady 与 vue 的 mounted 对应,即在页面渲染完成后执行。

目录
相关文章
|
12月前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
XML 小程序 前端开发
小程序制作教程
小程序制作教程
1215 3
小程序制作教程
|
小程序 JavaScript
微信小程序中的页面跳转(通过点击按钮、调用方法的形式)
这篇文章讲解了微信小程序中页面跳转的方法,包括使用按钮点击事件和调用方法实现跳转,以及推荐使用`this.pageRouter.navigateTo`代替`wx.navigateTo`的方式。
微信小程序中的页面跳转(通过点击按钮、调用方法的形式)
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
676 2
|
前端开发 小程序
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
【微信小程序-原生开发】实用教程20 - 生成海报(实战范例为生成活动海报,内含生成指定页面的小程序二维码,保存图片到手机,canvas 系列教程)
987 0
|
存储 前端开发 Java
支付系统----微信支付17-----定义统一结果,返回时间格式不一样,怎样解决
支付系统----微信支付17-----定义统一结果,返回时间格式不一样,怎样解决
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
|
小程序 前端开发
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
1252 0
|
小程序
【微信小程序-原生开发】实用教程21 - 分包
【微信小程序-原生开发】实用教程21 - 分包
868 0

热门文章

最新文章