微信小程序-入门课件_第1页
微信小程序-入门课件_第2页
微信小程序-入门课件_第3页
微信小程序-入门课件_第4页
微信小程序-入门课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微信小程序入门主讲:刘志敏博客:/belvine微信视频:/course/detail/8456QQ群:785071190微信小程序入门主讲:刘志敏CONTENTS课程内容CONTENTS课程内容认识小程序认识小程序1小程序开发工具的下载与安装下载地址:/miniprogram/dev/devtools/download.html1小程序开发工具的下载与安装下载地址:https://dev2小程序代码构成2小程序代码构成app.json官网地址:/miniprogram/dev/framework/config.htmlapp.json官网地址:https://developer3页面生命周期3页面生命周期微信小程序-入门ppt课件4页面栈4页面栈4小程序生命周期与运行机制小程序需必须在app.js中使用App()函数进行小程序的注册,并且不能注册多个。小程序第一打开时将会下载整个小程序代码包,紧接着通过app.json配置初始化App,页面线程开始渲染首页,初始化完成后应用服务线程执行App中onLauch()函数和onShow()函数,然后才执行页面中的onLoad()函数和onShow()函数,每次进入后台(当用户点击左上角关闭,或者按了设备Home键离开微信)都会先执行页面中的onHide()函数再执行app.js中的onHide()函数,每次进入前台都会先执行app.js中onShow()函数再执行页面中的onShow()函数。4小程序生命周期与运行机制小程序需必须在app.js中使用A微信小程序-入门ppt课件运行机制小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。更新机制小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。如果需要马上应用最新版本,可以使用

wx.getUpdateManager

API进行处理运行机制小程序没有重启的概念当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁当短时间内(5s)连续收到两次以上收到系统内存告警,会进行小程序的销毁运行机制更新机制运行机制5页面跳转navigator标签跳转<navigatorurl="/page/navigate/navigate?title=navigate"hover-class="navigator-hover">跳转到新页面</navigator>

<navigatorurl="../../redirect/redirect/redirect?title=redirect"open-type="redirect"hover-class="other-navigator-hover">在当前页打开</navigator>

<navigatortarget="miniProgram"open-type="navigate"app-id=""path=""extra-data=""version="release">打开绑定的小程序</navigator>5页面跳转navigator标签跳转<navigatoru通过路由函数进行跳转通过路由函数进行跳转6页面参数传递6页面参数传递6页面返回值//获取页面栈varpages=getCurrentPages();if(pages.length>1){

//上一个页面实例对象

varprePage=pages[pages.length-2];

//关键在这里

prePage.changeData(‘hello’);}01236页面返回值//获取页面栈01237View实现点击效果<view

hover-class='hover'>按钮</view>.hover{ background-color:

#aaa;}WXMLWXSShover-class指定按下去的样式类。当hover-class="none"时,没有点击态效果7View实现点击效果<viewhover-class='8scroll-view<!--垂直滚动,这里必须设置高度--><scroll-viewscroll-y="true"style="height:200px"><viewstyle="background:red;width:100px;height:100px"></view><viewstyle="background:green;width:100px;height:100px"></view><viewstyle="background:blue;width:100px;height:100px"></view><viewstyle="background:yellow;width:100px;height:100px"></view></scroll-view>8scroll-view<!--垂直滚动,这里必须设置高度-<!--水平滚动--><scroll-viewscroll-x="true"style="white-space:nowrap;display:flex"><!--display:inline-block--><viewstyle="background:red;width:200px;height:100px;display:inline-block"></view><viewstyle="background:green;width:200px;height:100px;display:inline-block"></view><viewstyle="background:blue;width:200px;height:100px;display:inline-block"></view><viewstyle="background:yellow;width:200px;height:100px;display:inline-block"></view></scroll-view><!--white-spacenormal:正常无变化(默认处理方式.文本自动处理换行.假如抵达容器边界内容会转到下一行)pre:保持HTML源代码的空格与换行,等同与pre标签nowrap:强制文本在一行,除非遇到br换行标签pre-wrap:同pre属性,但是遇到超出容器范围的时候会自动换行pre-line:同pre属性,但是遇到连续空格会被看作一个空格inherit:继承--><!--white-space9swiper<swiperindicator-dots='true'><swiper-item>

<imagesrc='...'></image></swiper-item><swiper-item>

<imagesrc='...'></image></swiper-item></swiper>9swiper<swiperindicator-dots=9movable-area<movable-areastyle="width:200px;height:200px;background-color:black;"><movable-viewstyle='background-color:red;width:50px;height:50px;'direction='all'></movable-view></movable-area>9movable-area<movable-areasty9cover-view<map><cover-view>地图<cover-imagesrc='/images/1.jpg'style='width:50px;heigth:50px;'></cover-image></cover-view></map>9cover-view<map>9icon<icontype="success"/>9icon<icontype="success"/>9text<view><textspace="ensp">你好啊哈哈哈(空格是中文字符一半大小)</text></view><view><textspace="emsp">你好啊哈哈哈(空格是中文字符大小)</text></view><view><textspace="nbsp">你好啊哈哈哈(空格根据字体设置)</text></view>\t空格(多个只会显示一个空格)\n换行<text>你好!\t七月流火啊!\n我在下一行</text>space有效值:9text<view>\t空格(多个只会显示一个空格)<view><textdecode="{{true}}">你好 啊   哈哈哈(空格是中文字符一半大小)</text></view><view><textdecode="{{true}}">你好 啊   哈哈哈(空格是中文字符大小)</text></view><view><textdecode="{{true}}">你好 啊   哈哈哈(空格根据字体设置)</text></view>decode是否解码<view>decode是否解码WXSSWXSS1尺寸单位rpx(responsivepixel):可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在iPhone6上,屏幕宽度为375px,共有750个物理像素,则750rpx=375px=750物理像素,1rpx=0.5px=1物理像素。1尺寸单位rpx(responsivepixel):可以2样式导入使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。2样式导入使用@import语句可以导入外联样式表,@imp3内联样式框架组件上支持使用style、class属性来控制组件的样式。style:静态的样式统一写到class中。style接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进style中,以免影响渲染速度。<viewstyle="color:{{color}};"/>class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。<viewclass="normal_view"/>3内联样式框架组件上支持使用style、class属性来样式内容显示定位背景边框文本属性fontmarginpadding样式内容显示4wxssdisplay(显示display)属性 说明flex 多栏多列布局 flex-direction:row/columninline-block 行内块元素inline 此元素会被显示为内联元素,元素前后没有换行符inline-table 作为内联表格来显示(类似<table>),表格前后没有换行符inline-flex 将对象作为内联块级弹性伸缩盒显示none 此元素不会被显示block 此元素将显示为块级元素,此元素前后会带有换行符list-item 此元素会作为列表显示table 会作为块级表格来显示(类似<table>),表格前后带有换行符table-caption 作为一个表格标题显示(类似<caption>)table-cell 作为一个表格单元格显示(类似<td>和<th>)table-column 作为一个单元格列显示(类似<col>)table-column-group 作为一个或多个列的分组来显示(类似<colgroup>)table-row 作为一个表格行显示(类似<tr>)table-row-group 作为一个或多个行的分组来显示(类似<tbody>)table-header-group 作为一个或多个行的分组来显示(类似<thead>)table-footer-group 作为一个或多个行的分组来显示(类似<tfoot>)inherit 从父元素继承display属性的值4wxssdisplay(显示display)属性 说明5wxssposition(定位)属性 说明absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。元素的位置通过"left","top","right"以及"bottom"属性进行规定。relative 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20"会向元素的LEFT位置添加20像素。fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过"left","top","right"以及"bottom"属性进行规定。static 默认值。没有定位,元素出现在正常的流中(忽略top,bottom,left,right或者z-index声明)inherit 规定应该从父元素继承position属性的值5wxssposition(定位)属性 说明6wxssbackground(背景)background

简写属性,作用是将背景属性设置在一个声明中

background:colorpositionsizerepeatoriginclipattachmentimage;background-color 指定要使用的背景颜色background-position 指定背景图像的位置

background-position:centerbackground-size 指定背景图片的大小

background-size:80px60px;宽度高度background-repeat 指定如何重复背景图像

repeat,repeat-x,repeat-y,no-repeat,inheritbackground-origin 指定背景图像的定位区域

padding-box背景图像填充框的相对位置6wxssbackground(背景)backgroundborder-box

背景图像边界框的相对位置content-box

背景图像的相对位置的内容框background-clip

指定背景图像的绘画区域

属性值,同上background-attachment

设置背景图像是否固定或者随着页面的其余部分滚动。

scroll背景图片随页面的其余部分滚动。这是默认fixed

背景图像是固定的inherit

指定background-attachment的设置应该从父元素继承local

背景图片随滚动元素滚动background-image

指定要使用的一个或多个背景图像 url('URL')图像的URLnone

无图像背景会显示。这是默认inherit

指定背景图像应该从父元素继承border-box 背景图像边界框的相对位置7wxssborder(边框)属性

说明

border

简写属性,用于把针对四个边的属性设置在一个声明

border:5pxsolidred;border-width 用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度

border-top-width上右下左边框厚度属性值:thinmediumthicklengthborder-style 设置元素所有边框的样式,或者单独地为各边设置边框样式。

border-top-width上右下左边框样式属性值:solid,dashed,dotted,double等border-color 元素的所有边框中可见部分的颜色,或为4个边分别设置颜色

border-top-width上右下左边框颜色7wxssborder(边框)属性 说明 7wxss文本属性(text)7wxss文本属性(text)微信小程序-入门ppt课件8wxss字体属性(font)8wxss字体属性(font)9wxssmargin(外边距)(margin)9wxssmargin(外边距)(margin)10wxsspadding(填充)(padding)10wxsspadding(填充)(padding)CONTENTS01计算器(布局)02计算器(字体和背景)03计算器(逻辑实现)CONTENTS01计算器(布局)02计算器(字体和背景)0逻辑实现输入数字输入运算符号输入正负符号输入其他逻辑实现输入数字输入运算符号输入正负符号输入其他逻辑实现输入数字是否编辑模式输入运算符号是否编辑模式是否为进行过计算当前值是否是0算式显示临时结果计算逻辑实现输入数字是否编辑模式输入运算符号是否编辑模式是否为进01布局02定位03定时器01布局02定位03定时器01外部点实现02内部图片布局03抽奖逻辑实现01外部点实现02内部图片布局03抽奖逻辑实现外部点实现<viewclass="container-out"><viewclass="circle"wx:for="{{circleList}}"style="top:{{item.topCircle}}rpx;left:{{item.leftCircle}}rpx;background-color:{{(index%2==0)?colorCircleFirst:colorCircleSecond}};"></view></view>.container-out{height:600rpx;width:650rpx;background-color:#b136b9;margin:100rpxauto;border-radius:40rpx;box-shadow:010px0#871a8e;position:relative;}.circle{position:absolute;display:block;border-radius:50%;height:20rpx;width:20rpx;}外部点实现<viewclass="container-ou//圆点闪烁setInterval(function(){if(_this.data.colorCircleFirst=='#FFDF2F'){_this.setData({colorCircleFirst:'#FE4D32',colorCircleSecond:'#FFDF2F',})}else{_this.setData({colorCircleFirst:'#FFDF2F',colorCircleSecond:'#FE4D32',})}},500)//圆点设置varleftCircle=7.5;vartopCircle=7.5;varcircleList=[];for(vari=0;i<24;i++){if(i==0){topCircle=15;leftCircle=15;}elseif(i<6){topCircle=7.5;leftCircle=leftCircle+102.5;}elseif(i==6){topCircle=15leftCircle=620;}elseif(i<12){topCircle=topCircle+94;leftCircle=620;}elseif(i==12){topCircle=565;leftCircle=620;}elseif(i<18){topCircle=570;leftCircle=leftCircle-102.5;}elseif(i==18){topCircle=565;leftCircle=15;}elseif(i<24){topCircle=topCircle-94;leftCircle=7.5;}else{return}circleList.push({topCircle:topCircle,leftCircle:leftCircle});}//圆点闪烁//圆点设置外部点实现<viewclass="container-in"><viewclass="content-out"wx:for="{{awardList}}"style="top:{{item.topAward}}rpx;left:{{item.leftAward}}rpx;background-color:{{(index==indexSelect)?colorAwardSelect:colorAwardDefault}};"><i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论