



在真机上查看项目。


修改每次编译启动的页面


修改变量没有生效


点击上传按钮,会先提交到开发版本中,再审核,再发布线上版本


小程序官方建议:页面都放在pages中 ,每个页面以单独的文件夹存在




window下的配置

stiemapLocation:指定sitemap.json文件,此文件用于加载微信搜索

开发工具配置文件

用来配置小程序及其页面是否允许被微信索引,就是是否可以搜索到。默认的配置是允许所有页面被索引。


1.先创建home文件夹,在文件夹内创建 page,自动生成4个文件。app.json-pages自动添加页面。
2.在pages中添加文件目录,会自动创建文件夹。


两个方法
app.json 添加新的节点 entryPagePath 添加文件目录



审核是微信官方审核,一般是3-7天

新增rpx 自适应








初始化项目,获取package.json 等文件,对一些包进行管理。在通过命令安装vant库
npm init -y
构建npm后,再app.json 配置组件库



scroll-view 需要设置高度,滚动条会按默认宽度,如需显示在整个容器中,需要设置宽度




swiper默认高度150px

写法和常用属性

显示文本内容,类似span
user-select :用户可以长按复制

富文本内容,通过node节点可以写html的代码
type:三种类型
size:按钮大小,只有默认和mini。mini会把按钮变成行内元素
loading:会显示加载的样式,并且不能点击
disable:是否禁用
plain:镂空效果

默认宽320高240,src输入地址,mode调整图片





不写opentype属性,默认跳转普通页面

只适合在普通页面传参

声明式普通页面传参

编程式导航传参

接收参数:会把传的参数封装在onLoad的options中。

接收并设置


delta数字,表示返回几层

通过代码方法跳转tabbar页面

通过代码跳转到普通页面


不同的跳转方法不同




在全局或局部页面使用
在页面使用,页面的json文件中有usingComponents{}。写入自定义的组件名,可以与导入的组件名称不一样,最好名字一致。配置组件路径。

全局使用自定义组件。在app.json 文件中,使用方法与页面相同


看json 文件,组件需要添加component:true的属性。
看js入口方法,组件是component,页面是page

页面的方法和生命函数同级,组件的方法写在method中

定义属性
properties用来接受外部传入的值

data和properties的区别
data适用于存储组件私有数据
properties适用于存储外界传给组件的数据

数据监听器用于监听和响应属性或数据字段的变化,从而执行特定的操作。
在组件中用observers属性
小程序 数据监听器只有在组件中有,页面中没有,需要自己写
vue2的数据监听器是watcher,原理是object.defineproperty
vue3的监听原理是proxy

监听数据
可以监听多个数据变化,也可以监听单个数据变化

监听对象

监听单个或多个属性

监听所有属性



生命周期函数写在lifetimes中

组件moved函数,需要数据复用,应该配上id,才能确定数据移动
组件error函数,抛出异常,组件onerror函数也会捕获异常,所以组件也可以不写,避免重复捕获异常


组件定义好插槽,在页面中使用组件和插槽显示内容。根据插槽指定的位置,页面插入的内容显示在指定位置
单个插槽直接写slot在对应的位置
启动多个插槽,需要在options的multipleSlots开启true
在组件中slot加上name属性,在页面引用的时候加上slot和指定的插槽name

1.属性绑定2.事件绑定3,获取组件实例

父到子传值用属性绑定
用于父组件向子组件的指定属性设置数据,仅能设置JsoN兼容的数据(只能传递数据,不能传递方法)
由父到子再传到孙,一层一层传递,不能跨级
子到父传值用事件绑定,可以传递 任意数据,包括数组和方法
事件绑定4个核心

在父组件js中定义一个自定义函数,传递给子组件

在父组件wxml,通过bind:自定义名称="父组件自定义函数"给子组件绑定函数

在子组件wxml 绑定一个函数调用父组件函数

在子组件js中用this.triggerEvent("父组件自定义名称",{参数数据})给父组件传值

父组件通过e.detail获取传递过来的值

在父组件使用this.selectComponent("id或class选择器"),获取子组件的实例对象。
使用场景:在父组件中获取子组件数据
如何获取:
在父组件wxml中,使用子组件,给子组件配置id选择器或class选择器。
在父组件js中,使用this.selectComponent("id或class选择器")获取整个子组件实例,从而得到子组件的数据。

和vue绑定一样,在page中的data中设置数据


取出各个类型的数据



自定义事件写在page中,和data平级


触发事件函数,会接收event对象


事件冒泡 target是当前点击的按钮。currenttarget是事件绑定的组件

通过调用this.setDate({}),传入一个对象。把改的数据写入

传参:通过自定义属性data-属性名,会把数据传到 event对象下的target的dataset里。通过对应的属性名获取到传入参数。event.target.dataset



绑定函数,在event.detail中可以查看value值。对应输入的值







hidden 属性 dom会渲染出来,但是不会显示



1 使用数组中某个属性


2 使用 item 本身 需要用*this





全局样式和局部样式
在app.wxss中写样式,全局都能使用且不用导入。
局部样式如果与全局样式名字相同,局部样式有的会覆盖全局样式,局部样式没有的会继续使用全局样式。

在app.json文件中
app.json 中的部分配置,也支持对单个页面进行配置,可以在页面对应的 .json 文件来对本页面的表现进行配置。
页面中配置项在当前页面会覆盖 app.json 中相同的配置项(样式相关的配置项属于 app.json 中的 window 属性,但这里不需要额外指定 window 字段)
应用场景:作为过滤器对数据处理,渲染到页面上,源数据不变。
不支持es6及以上的语法
每个 wxs 模块均有一个内置的 module 对象。


引用和转载 模块化知识连接

在wxml中写


定义wxs文件,用<wxs src=''>导入




tabBar配置在app.json下





在app.json 页面中配置


下拉刷新样式

一般不在全局中配置,最好是哪个页面使用用哪个页面配置
backgroundtextstyle是下拉三个点的颜色

使用wx.startPullDownRefresh(),注意使用此api 需要现在本页面json文件中开启下拉刷新。下拉有的不会弹回去,需要api停止

用户下拉后可以触发此函数

一般在此函数中处理下拉后的操作

在页面js中设置,通过onReachBottom函数监听上拉触底操作


最好在全局配置文件中设置到底距离,页面json文件也可以设置。数值类型是数字。默认是50

请求的域名需要在小程序管理后台先配置合法域名网址


临时开启不校验域名



get和post请求,一般在onload 页面生命周期中



什么需要promise化
如何把一个异步请求 promise化:
(resolve,reject)=>{}
在函数中使用promise对象,处理成功和错误

或者用catch捕获异常

第二种使用promise对象的方法:使用 async/await 处理 promise对象
(resolve,reject)=>{}



整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 实例,获取 App 上的数据或调用开发者注册在 App 上的函数。

tabbar页面不回收,没有onunload 函数执行,普通页面有
