【微信小程序-原生开发】实用教程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 对应,即在页面渲染完成后执行。

目录
相关文章
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4298 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
4989 1
|
存储 小程序 Python
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序
### 农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序 该程序通过`lunardate`库实现公历与农历的日期转换,支持闰月和跨年处理,用户输入农历节日名称后,可准确计算距离该节日还有多少天。功能包括农历节日查询、倒计时计算等。欢迎使用! (239字符)
1272 86
|
JSON 小程序 数据格式
微信小程序默认的文字内容在左上角怎么办?带你0基础快速了解skyline渲染模式。
本文主要介绍微信小程序开发中遇到的问题及其解决方法。问题通常由微信小程序自带的Skyline渲染模式引起,而非代码编写错误。解决步骤包括:1. 找到全局配置文件app.json;2. 去掉相关配置项;3. 修改后的配置示例。通过这些步骤可以有效解决文字内容顶格或覆盖的问题。文中还提供了进一步了解Skyline渲染模式的链接,帮助开发者深入理解其原理和应用。
1527 59
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
4005 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
22353 14
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
JSON 缓存 小程序
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。