微信小程序笔记 整理
地址: https://mp.weixin.qq.com/
pages --> 用来存放所有小程序的页面
utils --> 用来存放工具性质的模块
app.js --> 小程序的入口文件
app.json – > 全局配置文件
app.wxss --> 小程序的全局样式文件
project.config.json 项目配置文件
sitemap.json 配置小程序以及页面是否允许被微信索引
app.js 整个小程序的入口,通过 APP()函数来启动小程序
页面内的.js 是页面的入口文件,根据Page()函数创建并运行页面
普通的.js文件 是普通的功能模块文件,用Component()启动
不能直接赋值,需要调用 this.setData({xx:123}) 这种方式
需要在传参的地方提供一个 data-xx的属性传参,接收是按照 (e.target.dataset.xxx)接收
路径后面?拼接参数,key=value,用&链接,(eg:url=“/pages/index/index?name=zh&age=22”),被导航的页面,直接在onLoad时间中获取
属性绑定
父组件向子组件的指定属性设置数据,仅能设置JSON兼容的数据
在wxml声明子组件的时候,将数据绑定到属性上,子数据通过
properties节点声明对应的数据并使用
事件绑定
子组件向父组件传递数据(任何数据)
① 在父组件的 js 中,定义一个函数,这个函数即将通过自定义事件的形式,传递给子组件
② 在父组件的 wxml 中,通过自定义事件的形式,将步骤 1 中定义的函数引用,传递给子组件
③ 在子组件的 js 中,通过调用 this.triggerEvent(‘自定义事件名称’, { /* 参数对象 */ }) ,将数据发送到父组件
④ 在父组件的 js 中,通过 e.detail 获取到子组件传递过来的数据
获取组件实例
父组件通过this.selectComponent() [id或者类选择器]获取子组件实例对象.访问和调用子组件内的数据和方法
wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏
hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏
app.json -> window -> 把 enablePullDownRefresh 的值设置为 true, onPullDownRefresh() 函数可监听当前页面的下拉刷新事件【wx.stopPullDownRefresh() 可以停止当前页面的下拉刷新。】
app.json -> window -> 为 onReachBottomDistance 设置新的数值
onReachBottom() 函数即可监听当前页面的上拉触底事件
声明式导航(在页面上声明一个 导航组件,通过点击 组件实现页面跳转 )
导航到tabBar open-type=“switchTab”
导航到非tabBar open-type=“navigate”
回退 open-type= “navigateBack” delate 是数字,表示回退层级
编程式导航(调用小程序的导航 API,实现页面的跳转)
onLauch() 小程序初始化完成,执行次函数,全局只执行一次
onShow() 小程序启动/从后台进入前台展示时触发
onHide() 小程序从前台进入后台时触发
onLoad() 监听页面加载,一个页面只调用一次
onShow() 监听页面显示
onReady() 监听页面初次渲染完成,一个页面只调用一次
onHide() 页面隐藏
onUnload() 监听页面卸载,一个页面只调用一次
data --> 数据存放
methods --> 逻辑处理
properties --> 属性列表,用来接受外界到组件中的传参
observers --> 数据监听
定义在**lifetimes **中
created() 组件刚被创建好
attached() 组件初始化完毕,进入页面节点树后
detached() 组件离开页面节点树后
定义在 pageLifetimes中
show() 页面展示
hide() 页面隐藏
resize() 页面尺寸变化
默认每个自定义组件只能使用一个插槽(如果没有没有声明位置的话,默认在组件尾部加载)
在.js文件中配置
options: {
multipleSlots: true // 配置支持多个插槽,默认是false,只能持之一个插槽
}
插槽根据配置的name来区分