(本科)第3章微信小程序框架ppt课件.pptx
《(本科)第3章微信小程序框架ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第3章微信小程序框架ppt课件.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第3章 微信小程序框架第3章 微信小程序框架夏敏捷第第3 3章章 微信小程序框架微信小程序框架 教学目标: 了解小程序框架 掌握逻辑层和视图层之间关系 掌握页面事件处理函数3 章节目录3.1 微信小程序框架文件3.2 微信小程序视图层3.3 微信小程序逻辑层43.1 3.1 微信小程序框架文件微信小程序框架文件 项目框架文件包括根目录下的主体文件app.js、app.json、app.wxss、配置文件和sitemap.json,pages文件夹和utils文件。53.1.1 3.1.1 小程序的框架结构小程序的框架结构1主体文件 主体文件由小程序根目录下的app.js、app.j
2、son、app.wxss这三个必不可少的文件组成,小程序启动时会读取这些文件初始化实例。必须存放在项目的根目录下,每个文件的名称和功能都是特定的,具体如下: app.js:该文件是小程序项目的启动入口文件,主要处理小程序生命周期中的一些方法。文件内容不能为空。 app.json:该文件是小程序的全局配置文件,主要用于设置导航条的颜色、字体大小、tabBar等。文件内容不能为空。 app.wxss:该文件是小程序的公共样式文件,主要用于全局美化设计界面。文件内容可以为空。63.1.1 3.1.1 小程序的框架结构小程序的框架结构(1)app.js文件App( /如下为小程序的生命周期 onLau
3、nch: function() , /监听初始化 onShow: function() , /监听显示(进入前台) onHide: function() , /监听隐藏(进入后台:按home离开微信) onError: function(msg) , /监听错误 /如下为自定义的全局方法和全局变量 globalFun:function(), /全局方法(函数) globalData: I am global data /全局变量)使用App()来注册一个小程序,必须在app.js中注册,且不能注册多个。78倪红军制作app.js文件示例代码app.js文件常用代码格式如下:3.1.1 3.1.
4、1 小程序的框架结构小程序的框架结构(2)app.json是对小程序的全局配置,app.json文件内容为一个JSON对象,有以下属性: pages: pages/index/index, pages/logs/logs , window: backgroundTextStyle: light, navigationBarBackgroundColor: #fff, navigationBarTitleText: WeChat, navigationBarTextStyle: black , style: v2, sitemapLocation: sitemap.json9导航栏 tabBar
5、: color: #000, list: pagePath: pages/index/index, text: 人人版, iconPath: images/one-off.png, selectedIconPath: images/one-on.png , pagePath: pages/computer/computer, text: 人机版, iconPath: images/computer-off.png, selectedIconPath: images/computer-on.png , window: backgroundTextStyle:light, navigationBa
6、rBackgroundColor: #00FF00, /* 导航栏背景色为绿色*/ navigationBarTitleText: 夏敏捷第一个项目, /* 导航栏文字*/ navigationBarTextStyle:black ,103.1.1 3.1.1 小程序的框架结构小程序的框架结构tab标签11倪红军制作app.json文件pages配置项用来指定小程序由哪些页面组成。如图所示目录结构的小程序,其app.json文件中pages配置项的代码如下所示: pages: pages/index/index, pages/logs/logs 第一项指定的页面是小程序的初始页面(首页)在小程
7、序中新增页面或减少页面都需要在pages配置项中进行相应的编辑修改如果在pages配置项中添加的页面在当前开发的小程序中不存在,经过编译或保存后,集成开发环境会自动生成页面存放目录和相应的.js、.wxml、.json和.wxss文件。3.1.1 3.1.1 小程序的框架结构小程序的框架结构(3)app.wxss是整个小程序的公共样式表,类似网站开发中的common.css。/*app.wxss*/.container height: 100%; display: flex; flex-direction: column; align-items: center; justify-conten
8、t: space-between; padding: 200rpx 0; box-sizing: border-box;app.wxss文件用于规定所有页面都可以用的样式效果,语法格式类似CSS。该文件是可选文件,如果没有公共样式效果规定,可以省略不写。12全局样式:定义在app.wxss中的样式为全局样式,可以作用于小程序的每一个页面;局部样式:在pages文件夹中的wxss文件中定义的样式为局部样式,只作用于对应页面。局部样式文件中定义的样式选择器如果与app.wxss文件中定义样式选择器同名,则会覆盖app.wxss文件中定义的样式选择器。3.1.1 3.1.1 小程序的框架结构小程序的
9、框架结构2项目配置文件(1)project.config项目配置小程序根目录下的文件用于定义小程序项目名称、APPID等内容。(2)sitemap配置小程序根目录下的sitemap.json文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个JSON对象,如果没有sitemap.json,则默认为所有页面都允许被索引。133.1.1 3.1.1 小程序的框架结构小程序的框架结构3页面文件小程序页面在pages目录下,由一个文件夹中的四个同名不同类型文件组成。例如在index文件夹中,index.js是脚本文件,index.json是配置文件,index.wxss是样式表文件,index
10、.wxml是页面结构文件,其中json和wxss文件为非必须(默认会继承app的json和wxss默认设置)。143.1.2 Page()3.1.2 Page()注册页面注册页面 小程序在每个页面JS文件中通过使用Page(OBJECT)函数来进行页面注册,该函数可以用于指定小程序页面的生命周期函数。注意Page()函数只能写在小程序每个页面对应的JS文件中,且每个页面只能注册1个。 1初始数据data属性,该属性是页面第一次渲染使用的初始数据。 2生命周期回调函数页面初次打开会依次触发onLoad-onShow-onReady同样如果被切换到后台,会调用页面onHide,从后台被唤醒会调用页
11、面onShow。直到页面关闭会调用onUnload。153.2 3.2 微信小程序视图微信小程序视图层层Web前端网页开发:HTML(Hyper Text Markup Language,超文本链接标示语言)用来描述Web前端网页的结构;CSS(Cascading Style Sheet,层叠样式表)用来描述网页的呈现样式;JS(JavaScript,Java脚本语言)用来实现页面和用户的交互逻辑。小程序的每个页面描述文件:页面结构文件(文件后缀名为.wxml);页面样式文件(文件后缀名为.wxss);页面逻辑文件(文件后缀名为.js);页面配置文件(文件后缀名为.json)。页面结构文件(.
12、wxml)和页面样式文件(.wxss)构成了小程序框架的视图层,小程序在逻辑层将数据进行处理后发送给视图层展现出来,同时逻辑层也接收视图层的事件反馈。16夏敏捷制作3.2 3.2 微信小程序视图微信小程序视图层层页面结构文件的编写方式与HTML类似,可以由视图容器类组件、基础内容类组件、表单类组件、导航类组件、多媒体类组件、地图类组件、画布类组件的标签构成。17WXML具有数据绑定、列表渲染、条件渲染、模板及事件绑定等功能。3.2 3.2 微信小程序视图微信小程序视图层层页面结构文件的编写方式与HTML类似,常见的页面组件如表3-3所示。18夏敏捷制作3.2.1 3.2.1 绑定数据绑定数据在
13、微信小程序开发中通过数据绑定,将状态(数据)在界面上显示。通过变量名的语法把一个变量绑定到界面上,我们称为数据绑定。1简单数据绑定数据在js文件中定义,在wxml文件中绑定。实现js文件和wxml文件之间的数据交互。例如js文件中定义message。Page( data: /定义数据 message: Hello world! )在wxml文件中绑定message: message /数据绑定到页面上述代码会把Hello world!渲染到WXML页面上 message 出现的地方。193.2.1 3.2.1 绑定数据绑定数据2组件属性绑定wxml中组件的属性也可以使用动态数据,例如组件的ID
14、和class等属性值。 js文件中定义my。Page( data: /定义数据 my: xmj1 )相当于如下定义: 203.2.1 3.2.1 绑定数据绑定数据3条件语句值绑定条件语句中的值也可以通过数据绑定来赋值。 js文件中定义condition。Page( data: condition: true /条件语句的值 )213.2.1 3.2.1 绑定数据绑定数据4关键字绑定 对于一些关键字、保留字,需要在关键字内才能起作用,如果只有双引号、没有双括号,则只是作为一个字符串而已。 不要直接写checked=false,false是一个字符串,转成boolean类型后反而代表真值。223.
15、2.1 3.2.1 绑定数据绑定数据5运算结果绑定可以在表达式内进行表达式运算,将结果绑定到页面。微信小程序运算支持: 三目运算:conditions ? val1 : val2 算术运算:+ - * / 比较运算: = 等 点运算符:对象.属性 索引运算:数组对象index 组合成数组:值1,值2,值3,值4,值. 组合成对象:属性1:值,属性2:值,属性3:值.233.2.1 3.2.1 绑定数据绑定数据js文件中定义如下。Page( data: a: 1, b: 2, c: 3, d: 4 )wxml文件: a+b /a+b的值绑定到页面 a+b+c+d由于d没有使用d形式,所以是d字符
16、本身。页面显示效果等同于: 3 3+3+d如果使用d则第2个view中内容为3+3+4。24/如果使用d则第2个view中内容为3+3+4。25 3.2.2 3.2.2 条件渲染条件渲染在框架中,使用 wx:if=condition 来判断是否需要渲染该代码块:True也可以用 wx:elif 和 wx:else 来添加一个 else 块: 51 223示例:根据week的值来判断吃什么?今天吃什么? 星期week:饺子 星期week:稀饭 星期week:西餐/ pages/find/find.jsPage( data: week: Math.floor(Math.random() * 7 +
17、 1) )夏敏捷制作26 3.2.3 3.2.3 循环渲染循环渲染在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。数组的当前项的下标变量默认为index,数组当前项的变量默认为item。示例如下: index: item.messagepage.js如下:Page( data: items: message:2020 , message:2018 , message:2015 )结果显示为:0:2020 1:20182:2015夏敏捷制作0:2020 1:20182:201527 3.2.3 3.2.3 循环渲染循环渲染也可以使用wx:for-item
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第3章 微信小程序框架ppt课件 本科 微信小 程序 框架 ppt 课件
限制150内