Skip to content

微信小程序笔记

配置

所有的配置都可以在官方文档中得到很好的解答。https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

app.json配置

app.json一般在微信开发者工具中配置(这样有提示),其中有比较重要的键值对

键名简述备注
pages用来存放页面,其第一个子键值对代表初始看到的页面页面文件直接写名字不要加后缀
window用来配置总标题栏
tabBar用来设置底部切换按钮

注意小程序的各种配置路径不要使用"./"

页面配置

index.json,页面配置可以使不同的页面有不同的总标题栏样式

其中"usingComponents":"路径",为不同的页面文件使用不同的组件

sitemap 配置

设置小程序能否被搜索、索引

条件

for循环

for循环默认值时可以省略:wx:for-item="item" wx:for-index="index"

可以和block标签(占位不显示为标签,直接暴露内容)配合使用

if判断

wx:if , wx:elif , wx:else 作为判断标签显隐。

频繁调用用hidden属性控制显隐较好,但是这里hidden与dispaly不能同时使用,否则hidden会被注释

事件绑定

事件需要关键字bind

不要使用箭头函数,会改变this指向

微信小程序不能直接传参,只有默认传事件和通过属性传

rpx

宽度统一为750rpx,对照iphone6的750px(真实像素宽度为325)

标签

view

相当于div

text

相当于span

image

对图片格式有要求,有内置属性值定义图片显示方式

swiper

轮播图,需要和swiper-item配合使用,也有许多内置属性可以直接进行轮播控制

导航标签,页面内跳转,可以通过属性配置跳转、回退等

rich-text

可以将字符串解析为真正的html标签使用(不能使用id来标识,可以使用class等),变量配合生成html。

button

按钮,可以通过属性配置调用特定功能(客服、授权设置、转发、获取信息等,这是button的开放能力,有些必须真机调试)

icon

有封装好的字体图标,通过属性控制

radio

单选框,一般和它的父亲radio-group一起使用

checkbox

复选框,同样一般和radio-group一起使用

solt

插槽,父组件中调用子组件时,父组件中的子组件包含的内容会替换掉插槽。

还有其他很多标签这里介绍的多是对比html5有特殊用法的

组件

properties:用来接收父传的值【父传子,通过属性传】,用的时候直接当成data中的数据使用即可,注意子元素接收的是个对象,要在type配置传的类型(不可省略),而value是默认值(可省略)

data:用来定义内部变量

observers:监听器

methods:方法

生命周期函数:created(初始化,此时不能用setData)、attached(渲染前)、ready(渲染后)、moved(组件节点移动)、detached(组件节点被移除)

【子传父】触发父组件中的自定义事件进行传参,this.triggerEvent("父组件自定义事件名称",{要传递的数据}),父组件自定义事件格式——bind:父组件自定义事件名称

page文件调用组件时需要在页面的json中配置组件

应用生命周期

onLaunch:第一次启动时

onShow:切换到小程序时(包括开启)

onHide:隐藏小程序时

onError:报错时

onPageNotFound:应用第一次启动时,找不到第一个入口页面(属于报错)

页面生命周期

onLoad:初始化

onShow:页面显示

onReady:页面渲染完成

onHide:页面隐藏,如navigator超链接跳转切保留时

onUnload:页面卸载,如navigator超链接跳转且关闭时

onPullDownRefresh:下拉刷新时,可以定义重新发送渲染数据请求

onReachBottom:上拉触底事件,可以定义上拉加载下一页数据

onShareAppMessage:右上角分享

onPageScroll:页面滚动

onResize:页面尺寸发生变化,配置文件中开启横屏竖屏切换时常用

onTabItemTap:只存在tabbar页面,点击自己的tab item时触发

小程序第三方框架

原生框架 MINA

uni-app

腾讯 wepy

美团 mpvue

京东 taro

滴滴 chameleon

推荐增加的目录结构

styles 存放公共样式

components 存放组件

lib 存放第三方库

utils 放自己的工具库

request 接口库

鄂ICP备19018246号-1