小程序 step9-宿主环境

小程序全局数据

  • 小程序 JS 脚本运行在 JSCore 中,小程序的每个页面各自有一个 web-view 线程进行渲染,所以小程序切换页面时,小程序的 JS 脚本依然在同一个 JSCore 中。
  • 所以 App实例是一个,不同页面之间可以通过 App 实例下的属性来共享数据。APP 构造器可以传递其他参数作为全局变量,达到全局数据共享的目的。
  • 因为所有的脚本逻辑都跑在同一个 JSCore 中,页面使用 SetTimeOut 或者setInterval 定时器时,在跳转其他页面之后,要进行清理

页面构造器 Page({Object object})

  • data 声明做数据绑定的初始化数据
  • 生命周期
  • 页面用户行为回调
    1. onPullDownRefresh: 监听用户下拉刷新事件。需要在 app.json 中或者 page.json 中进行设置
    2. onReachBottom:监听上拉触底的事件,同样需要配置
    3. onPageScroll:监听用户滑动页面时间,参数包含页面在垂直方向上已滚动的距离
    4. onShareAppMessage: 监听转发,只有配置了这个,右上角才会显示“转发”按钮
     	     // 监听下拉刷新 - 需配置 app.json 或者 page.json 的enablePullDownRefresh为 true
     	  onPullDownRefresh() {
     	    console.log('onPullDownRefresh')
     	
     	  },
     	  // 监听页面的触底事件,需配置 app.json 或者 page.json 的onReachBottomDistance(触底距离)
     	  onReachBottom() {
     	
     	    console.log('onReachBottomDistance')
     	  },
     	  // 监听页面的滚动,可以获取页面垂直方向滚动距离
     	  onPageScroll (object) {
     	    console.log(object.scrollTop)
     	  },
     	  // 监听用户的转发-需要自定义一个返回对象,用来自定义分享的内容
     	  onShareAppMessage() {
     	    console.log('onShareAppMessage 页面分享')
     	  },
     	  // 监听右上角的收藏,Beta 版本支持安卓
     	  onAddToFavorites() {
     	    console.log('监听收藏,暂时只有安卓支持')
     	  }
    
  • 宿主环境为页面构造器提供了 setData 方法,第二个参数是 setData 对页面进行渲染完毕后触发
    • setData

    1. 可以以数据路径的形式给出 key
    2. 每次只设置需要改变的最小单位数据,可以提升性能
    3. 直接修改 data 不会有效果,必须调setData
    4. setData 是逻辑层与渲染层的通信,有消耗,为了提升性能,每次设置的数据不应超过1024 KB
    5. data 中的数据不要设置为 undefined,否则可能会有不可预料的 bug

tabbar

小程序提供了原生的 tabbar 的支持,需要我们在 app.json 中进行配置

API

大多数 api 都接受一个回调函数,或者一个对象作为参数,对象一般由 success,fail,complete 构成。其中complete不管调用成功与否,都会调用

兼容

  • wx.canIUse
  • wx.getSystemInfo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值