一 优缺点:
优点:安全稳定,底层是微信,体积小相当于不需要下载,开发快内部都封装好了各种功能。
缺点:1、源码打包不能超过2M(但可以使用分包扩展到20MB);2、不能随时随地的上线,因为 需要微信团队审核;3、暂时不能分享到朋友圈;4、个人账号限制非常大,很多功能都无 法实现.
二 常用组件:
view(div) text(span) image(img) swiper(轮播图) button input navigator(a)跳转
三 wxss(css):
单位:rpx 750px(物理像素)=750rpx;
样式导入:@import'相对路径' //相当于把A页面的wxss插入到引入的位置
四 数据绑定:
1.1 小程序的宿主环境
小程序依赖于微信客户端提供的环境(宿主环境),小程序借助这个宿主环境提供的功能,可以实现网页无法实现的功能。让小程序更接近原生APP体验。
目前大部分移动端都是原生APP嵌h5页面(webAPP)依托于浏览器。
一个页面两端适用
1.2 小程序框架
整个小程序的框架分为两部分:逻辑层(JavaScript)和视图层(界面层 渲染层)
逻辑层和渲染层分离
其中WXML模板和WXSS样式工作在渲染层,JS脚本工作在逻辑层;
小程序其实相当于是微信帮咱们做了适配,使小程序页面嵌入到微信内部;
小程序没有BOM(document)和DOM(window)
2.1 app.js(全局级别)
APP(object)注册小程序。接收一个object参数,其指定小程序的生命周期回调等。
APP()必须在app.js中调用,必须调用且只能调用一次。不然就完了。
生命周期回调函数:小程序从创建到销毁的整个过程,小程序会自动创建一些函数,在每个阶段会自动触发,不需要调用。
包含内容:
1)生命周期函数(自动创建的--使用的时候直接在函数里面写逻辑即可)
2)错误监听等函数
3)小程序的全局变量globalData:() //定义全局数据
4) 自定义函数
2.2pages.js当前页面的逻辑
对于小程序中的每个页面,都需要在对应的js文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等
包含内容
1)data界面视图的数据内容
2)生命周期函数
3)事件处理函数,比如下拉触发函数
4)自定义函数
当前页获取全局数据方法:
const xxx=getApp();//全局的数据方法都可以拿到
2.3 Js模块使用
ES6:
import ss from
export default
遵循commonjs规范
3.数据绑定
wxml中的动态数据均来自对应Page的data
3.1内容
数据绑定使用Mustache语法(胡子语法)将变量包起来。
<组件>{{变量}}</组件>
<view>{{msg}}</view>
<view class="info {{activeStr}}">属性上也可以使用胡子语法</view>
3.2三目运算符
<view class="{{flag?'active':''}}">是否添加样式</view>
data:{
flag:'true',
}
4.列表渲染
4.1wx:for
wx:for
动态列表可以绑定key标记,减少渲染压力提高渲染速度,具体方法参考微信小程序文档
4.2其他方法去微信开发文档浏览
5.条件渲染
在框架中使用wx:if=''来判断是否需要显示组件
5.1
wx:if='true'显示组件
wx:if='false'隐藏组件
5.2
wx:if={{flag}}是否显示
wx:if=else 取反操作
data:{flag:'true'}
5.3 block wx:if
因为wx:if是控制属性,需要同时添加到一个标签上。如果一次性判断多个组件标签,可以使用一个<block/>标签将多个组件包起来,在上边使用wx:if控制属性
<block wx:if="{{true}}">
<view>view1</view>
<view>view2</view>
</block>
注意:<block/>并不是一个组件,仅仅是一个包装元素,不会在页面做任何渲染
累了明天继续学习