小程序的基本目录结构
主体文件
微信小程序的主体部分由3个文件组成,这3个文件必须放在项目的主目录中,负责小
程序的整体配置,它们的名称是固定的。
- app.js 小程序逻辑文件,主要用来注册小程序全局实例。在编译时,app·js文件会和其他页面的逻辑文件打包成一个JavaScript文件。该文件在项目中不可缺少。
- app.json小程序公共设置文件,配置小程序全局设置。该文件在项目中不可缺少。
- app.wxss小程序主样式表文件,类似HTML的.css文件。在主样式表文件中设置的样式在其他页面文件中同样有效。该文件在项目中不是必需的。
页面文件
小程序通常是由多个页面组成的,每个页面包含4个文件,同一页面的这4个文件必须具有相同的路径与文件名。当小程序被启动或小程序内的页面进行跳转时,小程序会根 app.json 设置的路径找到相对应的资源进行数据绑定。
- .js文件 页面逻辑文件,在该文件中编写JavaScript代码控制页面的逻辑。该文件在每个小程序的页面中不可缺少。
- .wxml文件 页面结构文件,用于设计页面的布局、数据绑定等,类似HTML页面中的.html文件。该文件在页面中不可缺少。
- .wxss 文件页面样式表文件,用于定义本页面中用到的各类样式表。当页面中有样式表文件时,文件中的样式规则会层叠覆盖app.wxss中的样式规则;否则,直接使用 app.wxss 中指定的样式规则。该文件在页面中不可缺少。
- .json 文件页面配置文件。该文件在页面中不可缺少。
小程序的开发框架
视图层
MINA框架的视图层由WXML与WXSS编写,由组件来进行展示。对于微信小程序而言,视图层就是所有.wxml文件与.wxss文件的集合:.wxml文件用于描述页面的结构;.wxss文件用于描述页面的样式。
微信小程序在逻辑层将数据进行处理后发送给视图层展现出来,同时接收视图层的事件反馈。视图层以给定的样式展现数据并反馈时间给逻辑层,而数据展现是以组件来进行的。
逻辑层
逻辑层用于处理事务逻辑。对于微信小程序而言,逻辑层就是所有.js脚本文件的集合微信小程序在逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。
微信小程序开发框架的逻辑层是采用JavaScript编写的。在JavaScript的基础上,微信团队做了适当修改,以便提高开发小程序的效率。主要修改包括:
(1)增加app( ) 和Page()方法,进行程序和页面的注册。(2)提供丰富的API,如扫一扫、支付等微信特有的能力。(3)每个页面有独立的作用域,并提供模块化能力。
逻辑层就是通过各个页面的.js脚本文件来实现的。由于小程序并非运行在浏览器中,所以JvaScript在Web中的一些功能在小程序中无法使用,如document、window等。
开发者开发编写的所有代码最终会被打包成独立的JavaScript文件,并在小程序启动的时候运行,直到小程序被销毁。
数据层
数据层在逻辑上包括页面临时数据或缓存,文件储存(本地储存)和网络储存与调用
创建小程序页面
创建第一个页面文件
//app.json
//index.json
//index.js
创建另一个页面文件
配置文件
全局配置文件
pages配置项
window配置项
tabBar
networkTimeout
页面配置文件
逻辑层文件
项目逻辑文件
页面逻辑文件
1.设置初始数据
设置初始数据是对页面的第一次数据绑定。对象data将会以JSON(Javascript Object No- tation,JS对象简谱)的形式由逻辑层传至视图层。因此,数据必须是可以转成JSON的格式(字符串、数字、布尔值、对象、数组)。
视图层可以通过WXML对数据进行绑定。
2.定义当前页面的生命周期函数
在Page()函数的参数中,可以定义当前页面的生命周期函数。页面的生命周期函数主要有onLoad、onShow、onReady、onHide、onUnload。
- onLoad 页面加载函数。当页面加载完成后调用该函数。一个页面只会调用一次。该函数的参数可以获取wx.navigateTo和wx. redirectTo及<navigator/ >中的 query。
- onShow 页面显示函数。当页面显示时调用该函数。每次打开页面都会调用一次。 onReady 页面数据绑定函数。当页面初次数据绑定完成时调用该函数。一个页面只会调用一次,代表页面已经准备就绪,可以和视图层进行交互。
- onHide 页面隐藏函数。当页面隐藏时及当navigateTo或小程序底部进行tab切换时,调用该函数。
- onUnload 页面卸载函数。当页面卸载、进行navigateBack或redirectTo操作时,调用该函数。
页面结构文件
数据绑定
简单的绑定
运算
条件数据绑定
列表数据绑定
模板
引用页面文件
有import方方式和include方式
页面事件
有冒泡事件和非冒泡事件
页面样式文件
wxss常用属性