【微信小程序】微信小程序入门与实战小项目笔记

目录

  • 笔记
    • 一、初识微信小程序
      • 1. 如何申请小程序`AppID`(小程序ID)
      • 2. 开发工具的基本设置
      • 3. 小程序的基本单位-Page页面
    • 二、小程序的基本目录
      • 1. 页面的4种基本文件类型
      • 2. 全局配置文件、全局样式和应用程序级别js文件
    • 三、rpx响应式单位与flex布局
      • 1. 小程序默认显示第一位的页面索引或`entryPagePath`
      • 2. 图片、文字与按钮标签
      • 3. rpx的特点
      • 4. 可以在page标签直接设置小程序的背景色
    • 四、阅读列表与详情页
      • 1.下载安装`linUI`
      • 2. 使用自定义组件
      • 3. `swiper`组件的使用
      • 4. 使用LinUI的icon字体图标
      • 5. 单向数据与双向数据
      • 6. 数据绑定
      • 7. 页面生命周期
      • 8. Mustache语法
      • 9. 条件渲染
      • 10. 列表渲染
      • 11. [小程序事件](https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html)
      • 12. 小程序跳转
      • 13. 自定义属性
      • 14. 小程序的全局变量
      • 15. 小程序缓存
        • 同步操作
        • 异步操作
      • 16. [小程序api](https://developers.weixin.qq.com/miniprogram/dev/api/)
        • `wx.showToast` 轻提示
        • `wx.showModal`模态对话框
        • `wx.showActionSheet`显示操作菜单
      • 17. [音乐播放api](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.html)
        • 音乐播放事件监听
    • 五、小程序tabar的基本配置
    • 六、自定义组件
      • 1. 引入自定义组件
      • 2. 自定义组件属性使用
      • 3. 在自定义组件在添加样式失效问题(当容器设置为flex布局的时候,样式就可以生效)
      • 4. 自定义事件
    • 七、访问服务器数据
      • 1. 请求方法的基本使用
      • 2. ` justify-content:space-between;` 解决最后一排数量不够自动向两端排列问题
      • 3. 上滑加载更多数据
      • 4. 下拉刷新
      • 5. 配置标题
        • 静态配置
        • 动态设置
    • 八、电影详情页
      • 1. 图片预览
      • 2. 图片的多种mode模式
      • 3. Scroll-View组件的使用

笔记

一、初识微信小程序

微信开发工具下载地址

1. 如何申请小程序AppID(小程序ID)

  1. 没有注册的先通过该地址注册账号
  2. 前往微信公众平台查看,在开发菜单下的开发设置即可查看

【微信小程序】微信小程序入门与实战小项目笔记_第1张图片

2. 开发工具的基本设置

打开开发工具后先调整设置为下图所示

【微信小程序】微信小程序入门与实战小项目笔记_第2张图片

3. 小程序的基本单位-Page页面

可以在app.json文件的pages属性配置页面路径,理论上可以在任意路径存放页面文件,但是推荐放在pages目录下


二、小程序的基本目录

1. 页面的4种基本文件类型

.wxml: 类似与html,用于支撑页面的骨架

.wxss:类似与css,用于美化页面的样式

.js:处理业务逻辑

.json:对页面进行配置

页面目录下面的文件名需要保持一致,无需引入

2. 全局配置文件、全局样式和应用程序级别js文件

用于小程序的全局配置,相当于初始化,各个页面内可以单独配置覆盖全局配置


三、rpx响应式单位与flex布局

1. 小程序默认显示第一位的页面索引或entryPagePath

{
  "pages": [
    "pages/index/index",
    "pages/welcome/welcome"
  ]
}

2. 图片、文字与按钮标签

斜线代表根目录,绝对路径

image组件有一默认的宽高:宽度320px、高度240px

使用text标签的时候写成一行

<image>image>
<text>text>
<button>button>

3. rpx的特点

根据用户屏幕大小动态调整尺寸

iPhone6: 1px = 2rpx

4. 可以在page标签直接设置小程序的背景色

page{
  background-color: #b3d4db;
}

四、阅读列表与详情页

1.下载安装linUI

npm init
npm i [email protected]

安装好之后需要在 工具->构建npm

2. 使用自定义组件

json文件内先配置引入使用的组件

{
  "usingComponents": {
    "l-avatar": "/miniprogram_npm/lin-ui/avatar/index"
  }
}
<l-avatar>l-avatar>

3. swiper组件的使用

容器组件内可滑动的不只是图片,也可以是文本等其他内容

swiper组件内只能使用swiper-item组件(子组件)

 <swiper class="swiper">
    <swiper-item>
      <image src="/images/69317501_p0.jpg">image>
    swiper-item>
    <swiper-item>
      <image src="/images/70682785_p0.png">image>
    swiper-item>
  swiper>

需要给swiper标签以及image标签都加上宽高属性

.swiper, .swiper image{
  height: 460rpx;
  width: 100%;
}
属性 描述 默认
indicator-dots 是否显示面板指示点 false
autoplay 是否自动切换 false
vertical 滑动方向是否为纵向 false

详情可查阅官方文档

与Vue的不同之处:小程序标签里面的属性需要加双括号才表示变量,与React类似

4. 使用LinUI的icon字体图标

在json文件引入icon组件

加上name直接使用

<l-icon name="cart">l-icon>
参数 说明 类型 可选值 默认值
name 图标的名称,必填 String - -
color 图标的颜色 String - 默认为主题色
size 图标的大小(单位:rpx) Number - 40rpx

5. 单向数据与双向数据

单向数据:一旦数据变化,就去更新页面(data-页面),但是没有(页面-data)

双向数据:数据变化,可以(data-页面),也可以(页面-data)

6. 数据绑定

通过setData方法修改data的数据,不能直接赋值,与Vue不同,与React类似

this.setData({
	a: '1',
  b: '2'
})
// 需要修改对象数组里面的属性时
let data = 'week[' + n + '].is_sign'
 that.setData({
   [data]: 1
 })

7. 页面生命周期

生命周期钩子函数 触发时机
onLoad 监听页面加载
onShow 监听页面显示
onReady 监听页面初次渲染完成
onHide 监听页面隐藏
onUnload 监听页面卸载

页面初次打开执行顺序:onload =》onShow =》onReady

8. Mustache语法

与Vue的基本一致

动态属性也需要加双括号,与React类似

9. 条件渲染

wx:if => 相当于 v-if

wx:else => 相当于v-else

10. 列表渲染

wx:for => 相当于v-for

wx:key => 相当于:key

wx:key需要为对象中的的 属性名 或是 index ,不需要双括号

循环渲染多个平级子元素的时候可配合标签使用,该标签不会被渲染到页面,相当于Vue中的