程序和界面

一、程序App

“小程序”指的是产品层面的程序,而“程序”指的是代码层面的程序实例,采用App来代替代码层面的“程序”概念。
App() 构造器,注册一个程序App,必须写在项目根目录的app.js里,App实例是单例对象,在其他JS脚本中可以使用宿主环境提供的 getApp() 来获取程序实例。
生命周期
1、onLaunch: 小程序初始化完成时(全局只触发一次)
2、onShow:当小程序启动,或从后台进入前台显示,会触发 onShow
3、onHide:当小程序从前台进入后台,会触发 onHide
4、onError:当小程序发生脚本错误,或者 API 调用失败时,会触发 onError 并带上错误信息。
全局数据

App({
	globalData:{
		userInfo:null,
	}
})

其他页面获取APP实例

let app = getApp();
//全局变量
app.globalData.userInfo = {};

二、界面Page

一个小程序可以有很多页面,每个页面承载不同的功能,页面之间可以互相跳转。
页面构造器:Page({})
生命周期
onLoad:监听页面加载,触发时机早于onShow和onReady
onReady:监听页面初次渲染完成
onShow:监听页面显示,触发事件早于onReady
onHide:监听页面隐藏
onUnload:监听页面卸载
数据
data参数是页面第一次渲染时从逻辑层传递到渲染层的数据。
JS脚本中需要通过this.data获取数据
可以调用Page实例提供的setData把数据传递给渲染层,从而达到更新界面的目的

Page({
	data:{
		msg:"hello"
	}
	onLoad: function(){
	    this.setData({
	      text: 'hello world'
	    })
    })
})

注意
1、直接修改 Page实例的this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
2、由于setData是需要两个线程的一些通信消耗,为了提高性能,每次设置的数据不应超过1024kB。
3、不要把data中的任意一项的value设为undefined,否则可能会有引起一些不可预料的bug。
页面的用户行为
onPullDownRefresh 下拉刷新
监听用户下拉刷新事件,需要在app.json的window选项中或页面配置page.json中设置enablePullDownRefresh为true。当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。
onReachBottom 上拉触底
监听用户上拉触底事件。可以在app.json的window选项中或页面配置page.json中设置触发距离onReachBottomDistance。在触发距离内滑动期间,本事件只会被触发一次。
onPageScroll 页面滚动
监听用户滑动页面事件,参数为 Object,包含 scrollTop 字段,表示页面在垂直方向已滚动的距离(单位px)。
onShareAppMessage 用户转发
只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮,在用户点击转发按钮的时候会调用,此事件需要return一个Object,包含title和path两个字段,用于自定义转发内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值