小程序文件结构
1 文件结构
1.1 框架主体文件
- .wxss 公共样式表,对所有页面的布局文件都有效
- .js 小程序逻辑文件,用于注册小程序全局实例
- 通过APP()函数注册小程序生命周期函数、全局方法、全局属性,在其他逻辑层代码中通过getAPP()获取。
- 生命周期函数
- .json 公共设置,配置小程序全局设置
- 配置项
- pages (数组 -- 包含页面路径+文件名不需要拓展名,建议文件名和目录名保持一致)
- window (对象)
- enablePullDownRefresh (默认为false) 下拉会触发 onPullDownRefresh事件
- tabBar (对象)
- list数组,数组中每一项是一个对象,最少2个最多5个tab
- position (bottom/top)
- networkTimeout (对象 -- 网络请求API的超时时间)
- debug (布尔值)
- 配置项
1.2 框架页面文件
-
.wxml 页面结构文件,用于渲染页面,在不同平台被解析成不同端的渲染文件
- WXML具有数据绑定(Mustache语法)、列表渲染(wx:for)、条件渲染(wx:if={{判断条件}})、模板、事件等能力
- 模板( 定义:name属性指定模板名称、使用:is属性指向要使用的模板)
- 事件
- 定义
- 事件是视图层到逻辑层的通讯方式
- 事件对象可以携带额外信息,如id、dataset、touches
- 绑定事件
- bind
- catch
- 事件分类
- 冒泡事件
- tap:手指触摸后马上离开
- touchstart:手指触摸动作开始
- touchmove:手指触摸后移动
- touchcancel:手指触摸动作被打断,如来电提醒、弹窗
- touchend:手指触摸动作结束
- longtap:手指触摸后,超过350ms再离开
- 非冒泡事件
- 表单的submit事件
- 冒泡事件
- 事件对象 -- 逻辑层绑定该事件的事件处理函数会收到一个事件对象
- 事件对象属性基本可分为三类:BaseEvent、CustomEvent、TouchEvent。
- e.currentTarget.dataset 获取组件的自定义数据
- 书写:data-开头
- 引用
引入模板定义 - import 引用有作用域的概念,只能直接引入定义的模板不能间接引入定义的模板
- include 引入组件文件
.wxss 页面样式文件
- 在CSS基础上WXSS拓 展了尺寸单位、样式导入特性,对CSS选择器属性上做了部分兼容
- 尺寸单位
- rpx 1rpx = 0.5px
- rem 1rem = 18.75px
- 样式导入
- @import + "文件的相对路径"
- 尺寸单位
.js 页面逻辑文件 -- 也称位APPService
-
功能:设置初始化数据,注册当前页面生命周期函数,注册事件处理函数
-
通过Page()函数注册页面,参数为Object对象。
- data -- 页面的初始化数据,数据格式必须是可以转成JSON格式的对象类型,data会以JSON的形式由逻辑层传至渲染层
- 生命周期函数 -- 小程序以栈的形式维护了当前所有页面
- 可以添加任意函数或数据到Object参数中,可以使用this访问这些函数或数据
-
获取当前页面栈:getCurrentPages() 返回一个数组,第一个元素为首页,最后一个元素为当前页面
var pages = getCurrentPages(); var currentPage = pages[pages.length-1]; -
事件处理函数 -- 页面对象中注册的函数可以和视图层中的组件进行绑定,触发对应的事件就会执行Page中定义的相关事件
- 通用事件
- 特殊事件
-
Page.prototype.setData() 触发视图层渲染
- setData 接受一个Object作为参数,自动将this.data中对应的key值变成Object参数中对应的key值
.json 页面配置文件 页面配置文件的配置项只有
window,编写时直接写属性 - 事件
- 模板( 定义:name属性指定模板名称、使用:is属性指向要使用的模板)
- WXML具有数据绑定(Mustache语法)、列表渲染(wx:for)、条件渲染(wx:if={{判断条件}})、模板、事件等能力

浙公网安备 33010602011771号