Skip to content

文件配置及作用

  • 可设置 action 属性让 当前页面 [pages/index/index] 不被索引
js
"action": "disallow",

项目创建

  • WXML 是用来构建页面结构类似于 HTML
  • WXSS 是用来控制页面样式类似于 CSS

自定义编译模式

  • 当我们开发时会默认跳转到 index 页面而不是我们当前正在编写的页面,这时可以通过自定义编译模式来解决

全局配置文件及配置使用

window

window 常用配置

window 节点配置

  • 打开项目根目录下 app.json 进行设置
json
"window":{
    "backgroundTextStyle":"light", // 控制下拉 loading 样式且只有 light 或 dark 两个可选值
    "navigationBarBackgroundColor": "#380", // 用于设置导航条背景颜色
    "navigationBarTitleText": "test", // 用于设置小程序顶部标题
    "navigationBarTextStyle":"white" // 用于设置顶部标题文本颜色且只能设置 white 或 black 两种颜色
    "enablePullDownRefresh": true // 开启全局下拉刷新
    "backgroundColor": "#000" // 控制下拉刷新窗口的背景颜色
    "onReachBottomDistance": 50 // 控制上拉触底刷新内容的距离,默认为50px且不带单位
},

tabBar

具体配置

节点配置项

每个 tab 项配置

具体使用配置

  • 打开项目根目录下 app.json 与 window 节点同级下创建 tabBar 进行设置
json
"tabBar": {
    "list": [ // 设置 tab 页列表,最少2个最多5个
        {
            "pagePath": "pages/index/index", // 配置当前 tab 页的路径
            "text": "首页" // 配置当前 tab 页文字标题
        },
        {
            "pagePath": "pages/logs/logs",
            "text": "logs"
        }
    ]
}

wxss(微信小程序样式)

rpx 单位

组件使用

view 组件使用

scroll - view 组件使用

swiper 组件

text、rich-text 组件使用

其他组件(button、image)

  • button 组件
  • image 组件

代码规范

模板语法和定义数据

动态绑定属性

三元运算

wx:if (类似 vue 的 v-if)

控制多个组件

hidden(类似于 vue 的 v-show)

hidden 与 wx:if 区别

wx:for 列表渲染

  • 自定义索引名和当前项名称
  • wx:key

事件绑定

事件对象

target 和 currentTarget 区别

bindtap 事件使用(手指点击)

在事件中处理 data 中数据

事件传参

bindinput 事件(表单输入)

  • 使用 bindinput 事件实现文本框与 data 数据双向绑定
html
<!-- value 可为 input 输入框绑定默认值 -->
<input type="text" value="{{message}}" bindinput="inputHanddler"></input>
js
inputHanddler(e){
    this.setData({
        message:e.detail.value // 将文本框的值与 data 的值互相绑定
    })
},

下拉刷新事件

停止下拉刷新效果

上拉触底事件

添加 loading 提示效果

提示消息

js
// 可用于数据加载完毕提示用户
wx.showToast({
    title:'数据加载完毕!',
    icon:'none'
})

小程序的生命周期函数

应用级生命周期

页面级生命周期函数

组件全部生命周期函数

触发时机细节

定义方法

  • 和 data、method 同级定义 lifetimes

组件所在页面生命周期函数

定义方法

数据请求

发起 get 请求

在页面刚加载时就请求数据

页面导航

声明式导航

导航到 tabBar 页面

导航到非 tabBar 页面

后退导航

声明式导航传参

编程式导航

导航到 tabBar 页面

  • 代码示例

导航到非 tabBar 页面

后退导航

  • 代码示例

编程式导航传参

在 onLoad 中接收导航参数

wxs 脚本

基本使用

内嵌 wxs 脚本

外链 wxs 脚本

  • 引用外链 wxs 脚本

wxs 脚本和 js 对比

不能作为组件的事件回调

隔离性

性能好

自定义组件

自定义组件局部引用

自定义组件全局引用

在 app.json 文件下 和 window 节点同级下新增 usingComponents 节点进行添加组件

组件和页面的区别

组件样式

样式隔离

组件数据、方法、属性

data 数据

methods 方法

组件传值(类似于 vue 的 props)

data 和 properties 区别

  • 和 vue 不同的是通过外界传递过来的数据 properties 是可以读写的

修改外界传递过来的数据 properties

监听器

具体用法

监听对象属性变化(多个数据)

监听所有属性变化

纯数字字段

使用规则

组件插槽

启用多个插槽

定义多个插槽

使用多个插槽

组件通信

属性绑定(父传子)

  • 父组件传递给子组件的数据,子组件修改了不会影响到父组件数据
  • 在子组件接收

事件绑定传值(子传父)

具体实现

获取组件实例

behaviors 代码混入

创建

导入及使用

behaviors 中所有可用节点

API Promise 化

bash
npm i miniprogram-api-promise

组件调用

全局数据共享方案

基本概念

安装

bash
npm i --save mobx-miniprogram mobx-miniprogram-bindings

创建 Mobx Store 实例

  • 在项目根目录创建 store 文件再创建 Store.js

引入共享数据

在页面上使用

在组件中使用

小程序分包

基本概念

分包构成

分包的加载规则

分包体积限制

配置方法

分包引用原则

独立分包

应用场景

配置方法

引用原则

分包预下载

配置预下载

预下载限制

api 配置

json
"navigationBarBackgroundColor": "#000" // 用来修改页面顶部颜色