小程序的执行流程
注册一个小程序(小程序的生命周期)
- 注册App时,一般会做什么
- 判断小程序的进入场景
- 监听生命周期函数,在生命周期中执行对应的业务逻辑,比如在某个生命周期函数中获取微信用户的信息。
- 因为App()实例只有一个,并且是全局共享的( 单例对象),所以我们可以将一些共享数据放在这里。
- 小程序后台存活时间:
htps://developers.weixin.qq.com/miniprogram/dev/framework/operating-mechanism.html - 小程序的打开场景较多:
- 常见的打开场景:群聊会话中打开、小程序列表中打开、微信扫一扫打开、另一个小程序打开
https://developers.weixin.qq.com/miniprogram/dev/reference/scene-list.html
- 常见的打开场景:群聊会话中打开、小程序列表中打开、微信扫一扫打开、另一个小程序打开
- 如何确定场景?
- 在onLaunch和onShow生命周期回调函数中,会有options参数,其中有scene值
onLanch
-
发请求
-
获取用户的数据
- wx.getUserInfo
- button open-type = getUserInfo
- open-data
onShow(option)
- 获取场景,根据不同的场景做对应的逻辑处理
onHide
onError
注册一个页面(页面的生命周期)
onLoad
初次加载
onShow
页面显示
onReady
初次渲染完成
onHide
onUnLoad
onShareAppMessage
监听用户点击页面内转发按钮(button 组件
open-type="share"
)右上角菜单“转发”按钮的行为,并自定义转发内容。
-
<button open-type="share">点击分享</button>
-
onShareAppMessage: function (res) { return { title: '自定义转发标题', path: '/pages' // 用户点进分享所进入的页面 } }
WXS作用以及语法
WXS(WeiXin Script)是小程序的一套脚本语言,结合
WXML
,可以构建出页面的结构。WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。
但基本是和js一样的
主要应用的场景是 时间格式化以及过滤器的使用,也可以写成js作成工具类,在我们的js文件中先使用
两种wxs的写法
-
wxml
中<wxs module="info"> const sum = () => { }; module.exports = { sum } </wxs> <view>{ {info.sum}}</view>
-
.wxs
文件中<wxs src="./wxs/demo.wxs" module="info" />
自定义组件
只能使用wx:if;无法使用hidden
父子间传值和vue相似
组件和页面通信
父传子
通过属性绑定的形式将值传递给子组件
-
获取子组件并调用其方法 selectComponent
// this.selectComponent('.tab') 获取到子组件的示例对象this // setCurrentIndex 为组件的方法,可以直接setData({}) 。不推荐直接修改数据 this.selectComponent('.tab').