2020.8.5 微信小程序

1.了解微信小程序:

微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用
张小龙发布时间2017年1月9日

2.微信小程序和普通H5的区别:

a. 微信小程序用开发者工具来查看预览页面,H5用浏览器来查看渲染页面
b. 微信小程序扩展了底层能力,H5调用底层能力比较弱
c. 微信小程序没有完整的JS API,但H5拥有完整的JS API(EcmaScript,DOM,BOM)开发能力
d. 渲染机制不同:微信小程序渲染线线程和逻辑线程是独立并行运行的,而H5只是一个线程

3.微信小程序的使用流程:

注册微信小程序账号,然后安装微信开发者工具,接着创建小程序项目,就可以了。

4.微信小程序开发目录说明:

pages 项目开发目录 相当于vue脚手架中的src目录

a. xxx.wxml :模板页面(也称视图,类似于html)

常用标签:
	view:相当于div
	button:按钮
	image:嵌入图像  类似于img
	text:添加文本 相当于span
	block:标签一个组织区域,最终不会渲染到页面上,相当于vue中的template

b. xxx.wxss:页面样式 相当于css

注意:用rpx代表响应式单位 类似于rem

c.xxx.js: 写页面逻辑的

d.xxx.json:页面的配置

注意:页面的json配置来源于全局(app.json)配置中window字段

utils:存放封装的工具函数的目录

app.json:小程序的全局配置

app.wxss:是小程序的全局css样式,全影响所有的页面外观

project.config.json:工具的统一配置

给小程序添加新页面:

在app.json的pages中直接添加新建的页面路径

{
“pages”: [
“pages/index/index”,
“pages/logs/logs”,
“pages/cate/cate”,
“pages/shopping/shopping”
]
}

5.小程序常用渲染指令:

a.遍历 wx:for 相当于vue的v-for

例如:

编号:{{ n+1 }}—姓名:{{ itm.name }}

注:
item:遍历的每一项
index:每一项的下标
wx:for-index:更改下标名
wx:for-item:更改每一项的名称
wx通常遍历时添加,提升遍历性能
b.条件渲染
wx:if 相当于vue的v-if true:显示,false:隐藏
wx:if 满足条件渲染
wx:else 不满足条件渲染
hidden 相当于vue的v-show的反值 true:隐藏,false:显示

6.小程序绑定事件:bind+事件名=“方法名”

7.交互过程中视图不同步如何解决?

例如:
this.setData()
this.setData({
list2: this.data.list2
})

8.页面之间如何传参?

自定义属性:将页面上的参数传递给js


通过触发事件,在事件方法中接收
let {index}=e.currentTarget.dataset
deleteItem(e) {
let {index}=e.currentTarget.dataset
console.log(index)
}

9.小程序事件冒泡和组织冒泡

bind+事件名=“方法名” 向上传递事件,即事件冒泡
catch+事件名=“方法名” 阻止事件冒泡

10.小程序生命周期:

a. 整体小程序的生命周期:
App({
onLaunch() {}, 监听小程序初始化,只触发一次
onShow(){},小程序启动或切换到前台运行
onHide(),小程序切换到后台运行

})

b. 小程序页面级别的生命周期:

Page({
  //页面创建完,只触发一次,通常获取后台数据或接收另一个页面的传参时使用
	onLoad() {},
	//进入页面就会触发
	onShow() {},
	//页面离开时触发
	onHide() {},
	//监听页面初次渲染完成
	onReady() {},
	//监听页面卸载,类似于vue中destroyed
	onUnload() {}
	onReachBottom() {
    console.log('到底页面底部')
  },
  //下拉触发
  onPullDownRefresh() {
    console.log('onPullDownRefresh')
  },
  //点击右上角分享时触发
  onShareAppMessage() {
  }
})

11.小程序的路由管理

1.标签方式触发

vue:

小程序:

接收:通过另一个页面在onload生命周期中接收

2.编程式触发

vue:
this. r o u t e r . p u s h ( ) 小 程 序 跳 转 : w x . n a v i g a t e T o ( ) 带 历 史 回 退 w x . r e d i r e c t T o ( ) 不 保 留 历 史 , 跳 转 到 另 一 个 页 面 , 不 能 返 回 到 上 一 页 面 t h i s . router.push() 小程序跳转: wx.navigateTo() 带历史回退 wx.redirectTo() 不保留历史,跳转到另一个页面,不能返回到上一页面 this. router.push()wx.navigateTo()退wx.redirectTo()this.router.replace()
wx.switchTab() 只跳转到tabBar页面,不带回退
wx.reLaunch() 即能跳转到tabBar页面,也能跳转到非tabBar页面,不带历史回退

12.小程序数据请求

JS原生:XMLHttpRequest,fetch
jQuery: . a j a x , .ajax, .ajax,.getJSON, . p o s t ( ) , .post(), .post(),.get()
Vue:axios
React:fetch
微信小程序:wx.request() 与jQuery的$.ajax类似

wx.request({
url:’’, //请求的接口地址
method:‘get|post|put|delete’,//请求方式
header:{},//设置请求头
data:{}, //传参
success() {}, //成功返回
fail() {},// 失败返回

})

注意:

a.小程序请求的接口必须是https协议
b. 请求接口之前要提前配置接口请求:
第一种方法:在微信小程序后台配置request合法域名
第二种方法:在开发者工具–详情–本地配置–勾选‘不校验合法域名’

13.小程序组件

  • 内置组件:微信小程序封装好的组件,直接拿来就能使用
    • swiper:轮播组件,必须要和swiper-item配合使用
例如:

    

你可能感兴趣的:(小程序)