资讯专栏INFORMATION COLUMN

小程序学习笔记(1)

shaonbean / 2322人阅读

摘要:接受一个参数,其指定小程序的生命周期回调等。前台后台定义当用户点击左上角关闭,或者按了设备键离开微信,小程序并没有直接销毁,而是进入了后台当再次进入微信或再次打开小程序,又会从后台进入前台。

1. 注册小程序
----------
用App() 函数来注册一个小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。它必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。
前台、后台定义: 当用户点击左上角关闭,或者按了设备 Home
键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。
App({
  onLaunch: function(options) {
    // 小程序初始化完成时(全局只触发一次)
    options包含小程序的初始path,query,scene(场景值),shareTicket,referrerInfo.appId,referrerInfo.extraData(scene=1037或1038时支持)
  },
  onShow: function(options) {
    // Do something when show.小程序启动,或从后台进入前台显示时
    参数与onLaunch一致
  },
  onHide: function() {
    // Do something when hide.小程序从前台进入后台时
  },
  onError: function(msg) {
    console.log(msg)
    //小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息
  },
onPageNotFound:function(){
    //页面不存在监听函数, 小程序要打开的页面不存在时触发,会带上页面信息回调该函数
    不存在页面的path,打开不存在页面的query,是否是本次启动的首个页面isEntryPage
}
> 开发者可以在 onPageNotFound 回调中进行重定向处理,但必须在回调中同步处理,异步处理(例如 setTimeout
> 异步执行)无效
App({
  onPageNotFound(res) {
    wx.redirectTo({
      url: "pages/..."
    }) // 如果是 tabbar 页面,请使用 wx.switchTab
  }
})
> 如果开发者没有添加 onPageNotFound 监听,当跳转页面不存在时,将推入微信客户端原生的页面不存在提示页面。
如果 onPageNotFound 回调中又重定向到另一个不存在的页面,将推入微信客户端原生的页面不存在提示页面,并且不再回调 onPageNotFound。

  globalData: "I am global data"
})
2. 注册页面

Page(Object) 函数用来注册一个页面。接受一个 Object 类型参数,其指定页面的初始数据、生命周期回调、事件处理函数等。
生命周期:

Page({
  data: {
    text: "This is page data."
  },
  onLoad: function(options) {
    // Do some initialize when page load.监听页面加载
    options中有打开当前页面路径中的参数
  },
  onReady: function() {
    // Do something when page ready.监听页面显示
  },
  onShow: function() {
    // Do something when page show.监听页面初次渲染完成,代表页面已经准备妥当,可以和视图层进行交互
  },
  onHide: function() {
    // Do something when page hide.监听页面隐藏,如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台
  },
  onUnload: function() {
    // Do something when page close.监听页面卸载,如redirectTo或navigateBack到其他页面时。
  }
})

页面事件处理函数:

onPullDownRefres
监听用户下拉刷新事件。

需要在app.json的window选项中或页面配置中开启enablePullDownRefresh。
可以通过wx.startPullDownRefresh触发下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

onReachBottom()
监听用户上拉触底事件。

可以在app.json的window选项中或页面配置中设置触发距离onReachBottomDistance。
在触发距离内滑动期间,本事件只会被触发一次。

onShareAppMessage:

监听用户点击页面内转发按钮(

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114100.html

相关文章

  • 程序学习笔记(1)

    摘要:接受一个参数,其指定小程序的生命周期回调等。前台后台定义当用户点击左上角关闭,或者按了设备键离开微信,小程序并没有直接销毁,而是进入了后台当再次进入微信或再次打开小程序,又会从后台进入前台。 1. 注册小程序 ---------- 用App() 函数来注册一个小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。它必须在 app.js 中调用,必须调用且只能调用一次。不然...

    StonePanda 评论0 收藏0
  • 程序学习笔记(1)

    摘要:接受一个参数,其指定小程序的生命周期回调等。前台后台定义当用户点击左上角关闭,或者按了设备键离开微信,小程序并没有直接销毁,而是进入了后台当再次进入微信或再次打开小程序,又会从后台进入前台。 1. 注册小程序 ---------- 用App() 函数来注册一个小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。它必须在 app.js 中调用,必须调用且只能调用一次。不然...

    Carson 评论0 收藏0
  • 前端学习资源汇总

    摘要:建立该仓库的目的主要是整理收集学习资源,统一管理,方便随时查找。目前整合的学习资源只是前端方向的,可能会存在漏缺比较好的资源,需要慢慢的完善它,欢迎在该上补充资源或者提供宝贵的建议。 说明 平时的学习资源都比较的凌乱,看到好的资源都是直接收藏在浏览器的收藏夹中,这样其实并不方便,整理在云笔记上,也不方便查看修改记录,索性就整理在 github 上并开源出来,希望帮助大家能够更快的找到需...

    SnaiLiu 评论0 收藏0
  • 前端学习资源汇总

    摘要:建立该仓库的目的主要是整理收集学习资源,统一管理,方便随时查找。目前整合的学习资源只是前端方向的,可能会存在漏缺比较好的资源,需要慢慢的完善它,欢迎在该上补充资源或者提供宝贵的建议。 说明 平时的学习资源都比较的凌乱,看到好的资源都是直接收藏在浏览器的收藏夹中,这样其实并不方便,整理在云笔记上,也不方便查看修改记录,索性就整理在 github 上并开源出来,希望帮助大家能够更快的找到需...

    ziwenxie 评论0 收藏0
  • “知否精选”,程序版本知乎日报诞生笔记

    摘要:引子为什么要小程序版本的知乎日报国内大部分成熟的应用一般都会有对应的小程序版本的客户单,但是知乎日报没有。关于知否精选本项目的初始版本已经正式发布在微信小程序,名称为知否精选官方名称知乎日报已经被注册,所以选择了这么一个名字。 0. 引子 Question: 为什么要小程序版本的知乎日报? Answer: 国内大部分成熟的应用一般都会有对应的小程序版本的客户单,但是知乎日报没有。而我自...

    孙淑建 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<