微信小程序知识点归纳(一)

news2024/12/24 8:25:48

前言:适用于有一定基础的前端开发同学,完成从网页开发到小程序开发的知识转换。

           先立框架,后砌墙壁

回顾:了解微信小程序开发流程-CSDN博客

初始页面结构,三部分pages、utils、配置,分别存放页面、工具类函数、全局文件。

全局文件常用的三个:app.js、app.json、app.wxss,分别是项目入口、页面配置、全局样式

其余:

  • .eslintrc:配置规则集和插件,用于检查代码质量,规范编码的
  • project.config:个性化配置,以及配置项目的打包;后面挨着的project.private.config是他孪生兄弟,可以覆盖前者配置
  • sitemap:小程序的结构和组织方式,让微信可以搜索到该小程序

配置是基础,优先掌握

一、配置

1、全局配置

在app.json中的全局配置参数,常见的有:

  • navigationBarTextStyle 顶部背景颜色,只支持设置黑色和白色
  • navigationBarTitleText   顶部全局标题(即小程序名称)
  • enablePullDownRefresh下拉刷新
  • onReachBottomDistance 上拉触底

小程序官网_页面配置对于字段的用法和含义写的很全面

2、新建页面

小程序页面分两种,tabBar和非tabBar,tabBar就是最底下的导航栏

备注:同样可参考小程序官网_全局配置

1.1 tabar页面

/***app.json****/
若要加新页面,在pages和tabBar中添加地址、文本和图标即可 
在pages里写了地址,pages文件夹中会自动生成页面文件的
{
  "pages": [
    "pages/index/index",
    "pages/shopping/shopping"
    ],
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      "iconPath": "/images/tabs/index.png",
      "selectedIconPath": "/images/tabs/index-active.png"
    },
    {
      "pagePath": "pages/shopping/shopping",
      "text": "商城",
      "iconPath": "/images/tabs/shopping.png",
      "selectedIconPath": "/images/tabs/shopping-active.png"
    }]
 }
}

1.2 非tabBar页面

就是直接点击即跳转的页面,只需要在上面pages里新增个地址即可。

二、导航

1、声明式

1、跳转到tabBar页面
<navigator url="/pages/orderDetail/orderDetail" open-type="seitchTab"></navigator >

2、到非tabBar页面,区别仅在于open-type参数
<navigator url="/pages/orderDetail/orderDetail" open-type="navigate"></navigator >

3、传参
只需要把参数拼接在url后面即可
<navigator url="/pages/orderDetail/orderDetail?test=12&price=78">传参</navigator>
接收参数
在跳转到的页面的onload方法里,可接受到传递来的参数
onLoad(options) {
  console.log(options);
},

4、回退
(只在非tabBar页面生效)
delta代表回退层级,默认为1
<navigator open-type="navigateBack" delta="1"></navigator>

2、编程式

1、跳转到tabBar页
在页面wxml添加
小程序中 bindtap 就相当于 click
<button bind:tap="gotoHome">跳转</button>
在对于js文件中调用方法即可
 gotoHome(){
    wx.switchTab({
      url: '/pages/index/index',
    })
  }


2、跳转到非tabBar页面
只需要把switchTab换成navigateTo就行了
<button bind:tap="goDetail">详情</button>
goDetail(){
    wx.navigateTo({
      url: '/pages/orderDetail/orderDetail',
    })
  }


3、传参
和声明式一样,把参数拼接在url后面

4、回退
参数为空则默认回退1层
 <button bind:tap="goBack">回退</button>
 goBack(){
    wx.navigateBack()
  },

三、生命周期

分为2类,应用生命周期和页面生命周期

类似于网页,都是初始化->渲染显示->销毁 的过程;不同点在于多了个周期:onHide隐藏在后台运行

1、应用

在全局入口文件app.js中控制

App({
  /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */
  onLaunch: function () {},

  /** * 当小程序启动,或从后台进入前台显示,会触发 onShow*/
  onShow: function (options) {},

  /*** 当小程序从前台进入后台,会触发 onHide */
  onHide: function () {},

  /*** 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息*/
  onError: function (msg) {}
})

2、页面

在页面自己的文件夹下js文件中控制

Page({
  onLoad(options) {},        // 监听页面加载,一个页面只调用1次

  onReady() {},              // 监听页面初次渲染完成,一个页面只调用1次

  onShow() {},               // 监听页面显示

  onHide() {},               // 监听页面隐藏

  onUnload() {},             //-监听页面卸载

  //初始化时还会默认有下面几种监听事件
  onPullDownRefresh() {},    // 监听用户下拉动作

  onReachBottom() {},        // 页面上拉触底事件的处理函数

  onShareAppMessage() {}     // 用户点击右上角分享
})

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

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

相关文章

闪耀2023“物联之星”,迈威通信荣膺中国物联网企业创新产品榜

近日&#xff0c;IOTE 2024中国智联网生态大会暨“2023物联之星”年度榜单颁奖典礼在沪召开&#xff0c;迈威通信凭借其出色的技术创新和产品实力&#xff0c;其千兆卡轨式工业级5G路由器MIR785R成功荣登物联之星2023年度榜单——“中国物联网行业创新产品”。这不仅是对迈威通…

网络安全与IP地址的关联

网络安全与IP地址之间存在着密不可分的关系。IP地址作为网络通信的基础&#xff0c;对于网络安全的保障具有至关重要的作用。以下将详细探讨网络安全与IP地址之间的关联&#xff0c;以及IP地址在网络安全中的应用。 一、IP地址与网络安全的关系 IP地址是网络通信的基础&#x…

ISIS的基本配置

1.IS-IS协议的基本配置&#xff08;1&#xff09; 2.IS-IS协议的基本配置&#xff08;2&#xff09; 3.IS-IS协议的基本配置&#xff08;3&#xff09; 4.案例&#xff1a;IS-IS配置 R1的配置如下&#xff1a; [AR1czy]isis 1 [AR1czy-isis-1]is-level level-1 [AR1czy-isis-…

动手学深度学习17 使用和购买gpu

动手学深度学习16 Pytorch神经网络基础&#xff09; 5. GPUcolabNVIDIA GPUQA显存 5. GPU 课件&#xff1a; https://zh-v2.d2l.ai/chapter_deep-learning-computation/use-gpu.html 有GPU装cuda。 把模型参数放到指定设备上。 # 5.6. GPU # !nvidia-smi # 在命令行中&…

无限视差滚动(轮播)

无限视差滚动 无限视差滚动(轮播&#xff09;可以给用户一种无限滚动的感觉&#xff0c;视觉效果非常的好。话不多说&#xff0c;先来看效果 这边因为得控制GIF图片大小在5MB以内&#xff0c;导致看着不太丝滑 这种效果在国外用得很多&#xff0c;不过最近几年国内也慢慢开始使…

融合Transformer与CNN,实现各任务性能巅峰,可训练参数减少80%

论文er看过来&#xff0c;今天给各位推荐一个热门创新方向&#xff1a;CNNTransformer。 众所周知&#xff0c;CNN通过多层卷积自动学习空间层级特征&#xff0c;能够有效提取图像局部特征。而Transformer通过自注意力机制全局建模&#xff0c;能够有效处理长距离依赖关系。 …

鸿蒙OpenHarmony南向:【Hi3516标准系统入门(IDE方式)】

Hi3516标准系统入门&#xff08;IDE方式&#xff09; 注意&#xff1a; 从3.2版本起&#xff0c;标准系统不再针对Hi3516DV300进行适配验证&#xff0c;建议您使用RK3568进行标准系统的设备开发。 如您仍然需要使用Hi3516DV300进行标准系统相关开发操作&#xff0c;则可能会出现…

静态分析-RIPS-源码解析记录-01

token流扫描重构部分&#xff0c;这一部分主要利用php的token解析api解析出来的token流&#xff0c;对其中的特定token进行删除、替换、对于特定的语法结构进行重构&#xff0c;保持php语法结构上的一致性 解析主要在lib/scanner.php中通过Tokenizer这个类来实现,也就是在main…

视频号小店做店的最新最全攻略,小白也能快速上手轻松变现!

大家好&#xff0c;我是电商花花。 从开始接触视频号小店到现在已经两年多时间了&#xff0c;关于视频号小店也有不少经验和感触。 最近越来越多的人开始进入视频号小店的电商赛道&#xff0c;有人日均销售额做到几万甚至十几万。 想在视频号上变现赚钱&#xff0c;但是苦于…

APP广告转化流程对广告变现收益有影响吗?

对接广告平台做广告变现的APP开发者都清楚&#xff0c;广告变现的价格、收益不是一成不变的&#xff0c;经常会遇到eCPM波动对广告收益产生较大影响。 导致APP收益产生波动的因素包括&#xff1a;用户质量、广告类型、广告平台的资源波动、广告预算的季节性、广告展示量级等。…

R语言数据探索与分析-中国GDP回归分析与预测

首先读取数据&#xff1a; 将GDP列转换为常规数字格式 # 可视化GDP数据 # 查看数据结构 # 确保数据类型是正确的 第一张图片展示了中国2002年到2021年间的GDP增长趋势&#xff0c;这是一个时间序列图&#xff0c;其中横轴表示年份&#xff0c;纵轴表示GDP&#xff08;单位未…

springcloud alibaba微服务框架涉及的技术

一、微服务架构中核心模块及其使用技术总览 二、各模块详细说明 1、注册中心 该模块主要功能为 自动提供服务的注册与发现&#xff0c;集中式管理服务&#xff0c;让 服务调用端发现服务&#xff0c;让服务提供端注册服务&#xff0c;倘若没有注册中心&#xff0c;那客户端就…

Acwing2024蓝桥杯FloodFill

AcWing 687. 扫雷 模拟以下样例(10X10): 把扫雷地图转变为数字记录的地图:地雷记作-1,其余表示8个方向有几个地雷,完成后如下图: 接着搜索所有0联通块(为红色矩形),并且把联通块附近不是地雷的点(红色圆形)全标记为-1,如下图: 而答案就是当前该图中大于0的数的数目之和,再加上…

GPT-ArcGIS数据处理、空间分析、可视化及多案例综合应用教程

原文链接&#xff1a;GPT-ArcGIS数据处理、空间分析、可视化及多案例综合应用教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247603080&idx1&sn3e0d7015a2a717c320ebea3a673388ee&chksmfa82126fcdf59b795c7e2cea575470d42480ab809b926be5f94633eac…

国产银河麒麟V10SP1系统下搭建TiDB数据库操作步骤图文

开发目的&#xff1a;在国产银河麒麟系统中搭建TiDB数据库运行环境。 开发工具&#xff1a;银河麒麟系统V10SP1TiDBMySql数据库8.0。 具体步骤&#xff1a; 1、在VmWare虚拟机中安装好国产银河麒麟V10Sp1操作系统。 2、打开终端命令&#xff0c;安装TiDB相关软件&#xff1…

张驰咨询:AI与六西格玛——携手共进,非彼此替代

在历史的洪流中&#xff0c;技术与方法的演进如同波澜壮阔的画卷&#xff0c;不断书写着人类文明的篇章。六西格玛&#xff0c;作为一种追求极致品质与效率的方法论&#xff0c;是现代工业文明中的瑰宝。而当我们面对AI&#xff08;人工智能&#xff09;这一新时代的产物时&…

安卓模拟器Frida环境搭建 (mumu+adb+frida)

安卓模拟器Frida环境搭建 &#xff08;mumuadbfrida&#xff09; mumu模拟器安装adb与frida下载mumuadbfrida配置一般的报错实战 针对apk抓包问题&#xff0c;有的时候Android9已经不适用于现在的需求&#xff0c;需要更高的Android版本&#xff0c;mumu模拟器提供了Android12的…

【经验总结】Vue2中的全局变量(store

需求场景 需要在vue中存储一个可变的&#xff0c;可读写的全局变量在不同的js、页面中均可调用和读写 技术&#xff1a;使用vue的store 用法总结 一、定义变量 1、找到vue的/src/store路径&#xff0c;在modules文件夹下创建文件&#xff08;这里便于测试创建demo.js&…

Linux下安装JDK并配置环境变量

一、Oracle官网下载jdk 1、官网地址 https://www.oracle.com/java/technologies/downloads/#java17 2、命令下载 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 3、解压 tar -zxvf jdk-17_linux-x64_bin.tar.gz 4、配置环境变量 ec…

HarmonyOS开发案例:【生活健康app之获取成就】(3)

获取成就 本节将介绍成就页面。 功能概述 成就页面展示用户可以获取的所有勋章&#xff0c;当用户满足一定的条件时&#xff0c;将点亮本页面对应的勋章&#xff0c;没有得到的成就勋章处于熄灭状态。共有六种勋章&#xff0c;当用户连续完成任务打卡3天、7天、30天、50天、…