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

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

先立框架,后砌墙壁

回顾: 了解微信小程序开发流程-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页面

javascript 复制代码
/***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、声明式

javascript 复制代码
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、编程式

javascript 复制代码
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中控制

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

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

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

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

2、页面

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

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

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

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

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

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

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

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

  onShareAppMessage() {}     // 用户点击右上角分享
})
相关推荐
qq_124987075310 小时前
基于微信小程序的线下点餐系统的设计与实现(源码+论文+部署+安装)
spring boot·微信小程序·小程序·毕业设计
少云清16 小时前
【功能测试】5_小程序项目 _抓包修改轮播图(重要)
小程序
深红16 小时前
玩转小程序AR-基础篇
前端·微信小程序·webvr
從南走到北17 小时前
JAVA代驾小程序源码代驾跑腿APP源码
java·开发语言·微信·微信小程序·小程序
小小王app小程序开发17 小时前
招工招聘小程序运营风险清单:资质备案 + 信息审核 + 服务履约避坑实操
小程序
2501_9159214319 小时前
混合开发应用安全方案,在多技术栈融合下构建可持续、可回滚的保护体系
android·安全·ios·小程序·uni-app·iphone·webview
q_191328469519 小时前
基于SpringBoot2+Vue2+uniapp的考研社区论坛网站及小程序
java·vue.js·spring boot·后端·小程序·uni-app·毕业设计
pearbing19 小时前
多平台发力:小程序搜索优化的实用策略指南
小程序·小程序搜索排名·小程序优化·小程序搜索排名优化·小程序搜索优化·小程序seo
2501_9151063220 小时前
Charles抓包怎么用 Charles抓包工具详细教程、网络调试方法、HTTPS配置与手机抓包实战
网络·ios·智能手机·小程序·https·uni-app·webview
00后程序员张21 小时前
Fastlane 结合 开心上架,构建跨平台可发布的 iOS 自动化流水线实践
android·运维·ios·小程序·uni-app·自动化·iphone