微信小程序快速入门03

news2025/4/24 13:23:13

在这里插入图片描述

🏡浩泽学编程:个人主页

 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》
              《RabbitMQ》《Spring》《SpringMVC》

🛸学无止境,不骄不躁,知行合一

文章目录

  • 前言
  • 一、生命周期
    • 生命周期函数
  • 二、WXS脚本
    • wxs和JavaScript的关系
    • 基础语法
    • wxs的特点
  • 总结


前言

本文讲诉:生命周期、WXS脚本。


一、生命周期

  • 生命周期(Life Cycle) 是指一个对象从创建 -> 运行 ->销的整个阶段,强调的是一个时间段。例如:

    • 张三出生,表示这个人生命周期的开始
    • 张三离世,表示这个人生命周期的结束
    • 中间张三的一生,就是张三的生命周期
  • 我们可以把每个小程序运行的过程,也概括为生命周期:

    • 小程序的启动,表示生命周期的开始
    • 小程序的关闭,表示生命周期的结束
    • 中间小程序运行的过程,就是小程序的生命周期
  • 在小程序中,生命周期分为两类,分别是

    • 应用生命周期
      • 特指小程序从启动->运行->销毁的过程
    • 页面生命周期
      • 特指小程序中,每个页面的加载->渲染->销毁的过程
    • 其中,页面的生命周期范围较小,应用程序的生命周期范围较大,如图所示:
      在这里插入图片描述

生命周期函数

  • 生命周期函数:是由小程序框架提供的内置函数,会伴随着生命周期,自动按次序执行。
  • 生命周期函数的作用:允许程序员在特定的时间点,执行某些特定的操作。例如,页面刚加载的时候,可以在onLoad 生命周期函数中初始化页面的数据。
  • 注意:生命周期强调的是时间段,生命周期函数强调的是时间点。

分类:
小程序中的生命周期函数分为两类,分别是:

  • 应用的生命周期函数
    • 特指小程序从启动->运行->销毁期间依次调用的那些函数
  • 页面的生命周期函数
    • 特指小程序中,每个页面从加载->渲染->销毁期间依次调用的那些函数

应用的生命周期函数
在这里插入图片描述
页面的生命周期函数
在这里插入图片描述

二、WXS脚本

  • WXS (WeiXin Script)是小程序独有的一套脚本语言,结合WXML,可以构建出页面的结构。
  • 应用场景
    • wxml 中无法调用在页面的js 中定义的函数,但是,wxml中可以调用 wxs 中定义的函数。因此,小程序中wxs的典型应用场景就是“过滤器”。

wxs和JavaScript的关系

虽然 wxs 的语法类似于JavaScript,但是 wxs和JavaScript 是完全不同的两种语言:

  • wxs 有自己的数据类型
    • number 数值类型、string 字符串类型、object 对象类型、boolean 布尔类型、
    • function 函数类型、array 数组类型、date 日期类型、regexp 正则
  • wxs 不支持类似于 ES6 及以上的语法形式
    • 不支持:let、const、解构赋值、展开运算符、箭头函数、对象属性简写、etc…
    • 支持:var 定义变量、普通function 函数等类似于ES5的语法
  • wxs 遵循 CommonJS 规范
    • module 对象
    • require()函数
    • module.exports 对象

基础语法

内嵌wxs脚本

  • wxs代码可以编写在 wxml文件中的< wxs > 标签内,就像Javascript 代码可以编写在 html文件中的< script >标签内一样。
  • wxml 文件中的每个< wxs ></ wxs> 标签,必须提供 module 属性,用来指定当前 wxs 的模块名称,方便在wxml中访问模块中的成员:
<view>{{m1.toUpper(useranme)}}</view>
<wxs module="m1">
  module.exports.toUpper = function(str) {
    return str.toUpperCase()
  }
</wxs>

定义外联的wxs脚本
wxs 代码还可以编写在以.wxs 为后缀名的文件内就像javascript 代码可以编写在以js 为后缀名的文件中一样。示例代码如下:

function toLower(str) {
  return str.toLowerCase()
}

module.exports = {
  toLower: toLower
}

在这里插入图片描述
使用外联的wxs脚本

在wxml中引入外联的 wxs 脚本时,必须为 标签添加 module 和 src 属性,其中

  • module 用来指定模块的名称
  • src 用来指定要引入的脚本的路径,且必须是相对路径

示例代码如下:

<view>{{m2.toLower(country)}}</view>

<wxs src="../../utils/tools.wxs" module="m2">

wxs的特点

与JavaScript 不同
为了降低 wxs (WeiXin Script)的学习成本,wx 语言在设计时借大量鉴了JavaScript 的语法。但是本质上wxs和JavaScript 是完全不同的两种语言!
不能作为组件的事件回调
wxs典型的应用场景就是"过滤器"经常配合 Mustache 语法进行使用,例如:
在这里插入图片描述
但是,在 wxs 中定义的函数不能作为组件的事件回调函数。例如,下面的用法是错误的:
在这里插入图片描述
隔离性

  • 隔离性指的是wxs的运行环境和其他JavaScript代码是隔离的。体现在如下两方面:
    • wxs不能调用is中定义的函数
    • wxs不能调用小程序提供的AP

性能好

  • 在ios 设备上,小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍
  • 在 android 设备上,二者的运行效率无差异

总结

以上就是小程序快速入门讲解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

花了三天的时间做了一个多功能 AI 助手

嗨&#xff01;我是团子&#xff0c;大家新年快乐呀~ 前几天看到一些好朋友在朋友圈晒自己的年度总结&#xff0c;立新年 Flag&#xff0c;看到大家一年满满的收获&#xff0c;再看看自己&#xff0c;不由得想再看看人家&#xff0c;然后再看看自己&#xff0c;然后再看看人家…

(南京观海微电子)——色温介绍

色温是表示光线中包含颜色成分的一个计量单位。从理论上说&#xff0c;黑体温度指绝对黑体从绝对零度&#xff08;&#xff0d;273℃&#xff09;开始加温后所呈现的颜色。黑体在受热后&#xff0c;逐渐由黑变红&#xff0c;转黄&#xff0c;发白&#xff0c;最后发出蓝色光。当…

NFTScan | 01.01~01.07 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.01.01~ 2024.01.07 NFT Hot News 01/ 空投 | Mint Blockchain 将于 2024 年 1 月 10 号启动 Mint Genesis NFT 空投活动 1 月 1 日&#xff0c;Mint Blockchain 宣布将于 2024 年 1…

双指针算法: 有效三角形的个数

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 前言 声明…

即将推出的 OpenWrt One/AP-24.XY:OpenWrt 和 Banana Pi 合作路由器板

OpenWrt开发人员正在与Banana Pi合作开发OpenWrt One/AP-24.XY路由器板。OpenWrt 是一个轻量级嵌入式 Linux 操作系统&#xff0c;支持近 1,800 个路由器和其他设备。然而&#xff0c;这将是第一块由 OpenWrt 直接开发的路由器板。 该主板将基于 MediaTek MT7981B (Filogic 82…

【教学类-43-19】20240113 数独(一) 3-5-6-7-8-10宫格 无空行A4模板

作品展示&#xff1a; 3宫格 5宫格 6宫格 7宫格 8宫格 10宫格&#xff0c;题目连在一起 背景需求&#xff1a; 制作十宫格数独模板&#xff0c;为了凑满20行&#xff0c;删除了每个数独题之间的行列分割线 【教学类-43-18】A4最终版 20240111 数独11.0 十宫格X*YZ套(n10)&am…

构建中国人自己的私人GPT-有道GPT

创作不易&#xff0c;请大家多鼓励支持。 在现实生活中&#xff0c;很多人的资料是不愿意公布在互联网上的&#xff0c;但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢&#xff1f;于是我们构建自己或公司的私人GPT变得非常重要。 先看效果 一、…

[Windows] Win10 常用快捷键

文章目录 &#x1f680; [Windows] Win10 常用快捷键&#x1f310; Windows 操作系统&#x1f525; Windows 10 &#x1f310; Windows 10 快捷键概览&#x1f525; 基本快捷键&#x1f525; 窗口快捷键&#x1f525; 功能快捷键 &#x1f4dd; 小结 &#x1f680; [Windows] W…

网站后台拿Webshell

通过注入或者其他途径&#xff0c;获取网站管理员账号和密码后&#xff0c;找到后台登录地址&#xff0c;登录后&#xff0c;寻找后台漏洞上传网页后门&#xff0c;获取网站的webshell webshell的作用是方便攻击者&#xff0c;webshel是拥有fso权限&#xff0c;根据fso权限的不…

Android Studio 虚拟机 Unknown Error 解决

前言 尝试了网上很多解决方式&#xff0c;但很遗憾&#xff0c;都没效果&#xff1b; 于是我就想啊&#x1f914;&#xff0c;虚拟机属于SDK的一部分&#xff0c;那有没有一种可能&#xff0c;是SDK出了问题&#xff1b; 于是我就换了新的SDK&#xff0c;结果 ---- 完美解决…

高德地图Web服务使用方法——电子围栏

1 高德地图Web服务 1.1 添加Key 注册高德地图&#xff0c;进入控制台&#xff0c;创建新应用&#xff0c;添加Key&#xff0c;选择Web服务&#xff0c;不添加域名白名单&#xff0c;勾选同意政策。 刷新界面&#xff0c;记住获取到的Key。 1.2 下载安装Postman https://www…

AWS-SAA-C03认证——之基础知识扫盲

文章目录 前言一、Amazon ECS二、 Amazon EKS三、Amazon EC2四、Elastic Beanstalk五、AWS Fargate六、 AWS Lambda &#xff08;serverless&#xff09;七、Amazon EBS7.1 EBS生命周期 八、Amazon Elastic File System (EFS) -共享文件系统九、什么是 Amazon S3&#xff1f;9.…

2024PMP考试新考纲-【过程领域】近期典型真题和很详细解析(5)

今天华研荟继续为您分享【过程Process领域】的新考纲下的真题&#xff0c;进一步帮助大家体会和理解新考纲下PMP的考试特点和如何应用知识来解题&#xff0c;并且举一反三&#xff0c;在两个多月的时间内&#xff0c;一次性、高等级通过2024年PMP考试。 2024年PMP考试新考纲-【…

WebService

Webservice 是一种传统的soa技术架构, 它不依赖于任何的编程语言,也不依赖于任何的技术平台, 可以直接基于http协议实现网络应用间的数据交互 Webservice 服务端是以接口远程接口为主的, 在java实现的webservice技术里面主要依靠的是CXF开发框架,而这个CXF框架可以直接将接口发…

《向量数据库指南》让「引用」为 RAG 机器人回答增加可信度

在之前的文章中&#xff0c;我们已经介绍了如何用 Milvus 向量数据库以及 LlamaIndex 搭建基础的聊天机器人《Chat Towards Data Science &#xff5c;如何用个人数据知识库构建 RAG 聊天机器人&#xff1f;》《书接上回&#xff0c;如何用 LlamaIndex 搭建聊天机器人&#xff…

计算机图形学作业:三维线段的图形变换

1. 将三维空间某线段 P1P2进行如下的操作&#xff0c;请按要求回答问题&#xff1a; &#xff08;1&#xff09; 沿 X 轴、Y 轴和 Z 轴分别平移 dx、dy 和 dz 的长度&#xff0c;给出相应的变换矩阵。 变换矩阵为&#xff1a; T100001000010dxdydz1 &#xff08;2&#xff09…

Scanner接收用户键盘输入数据(Java)

1.导包&#xff1a;import java.util.Scanner; 一般情况不需要自己导包&#xff0c;idea工具会自动帮助我们导包 2.代码&#xff1a; 得到键盘扫描器对象&#xff1a; Scanner sc new Scanner(System.in); 接收用户输入数据&#xff1a; int sth sc.nextInt(); String…

算法每日一题: 删除排序列表中的重复元素 | 链表的删除

大家好&#xff0c;我是星恒 今天给大家带来的是一道简单的链表删除题&#xff0c;题目很简单&#xff0c;不过可以帮助我们很好的复习链表的删除&#xff0c;尤其适合基础薄弱的友友们学习 ~ 题目&#xff1a;leetcode 83 给定一个已排序的链表的头 head &#xff0c; 删除所有…

【教学类-43-20】20240113 数独(二)4宫格、9宫格 无空行A4模板

作品展示&#xff1a; 4宫格 9宫格 题目连在一起 背景需求&#xff1a; 制作十宫格数独模板&#xff0c;为了凑满20行&#xff0c;删除了每个数独题之间的行列分割线 【教学类-43-18】A4最终版 20240111 数独11.0 十宫格X*YZ套(n10)&#xff0c;套用没有分割行列的A4横版模板…

C语言辨析——深入理解字符常量与表达式

1. 问题 今天看到一个题目&#xff0c;截图如下。 从答题情况来看&#xff0c;本题的答案是B&#xff0c;那么就意味着A、C、D是错的。但我认为这4个选项都是对的。当然&#xff0c;如果要从4个选项中挑选一个的话&#xff0c;那还是选择B妥当一些。 2. 分析 字符常量的定义…