美文网首页
微信小程序-逻辑层

微信小程序-逻辑层

作者: 叫我王必过 | 来源:发表于2019-03-15 17:27 被阅读0次

基于JavaScript开发,增添了一些新功能
1、增加 App 和 Page 方法,进行程序和页面的注册。
2、增加 getApp 和 getCurrentPages 方法,分别用来获取 App 实例和当前页面栈。
3、提供丰富的 API,如微信用户数据,扫一扫,支付等微信特有能力。
4、每个页面有独立的作用域,并提供模块化能力。
注意:小程序框架的逻辑层并非运行在浏览器中,因此 JavaScript 在 web 中一些能力都无法使用,如 window,document 等。

一、App(object)

1、App(object)必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。
2、前台、后台定义: 当用户点击右上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;当再次进入微信或再次打开小程序,又会从后台进入前台。需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。关闭小程序(基础库版本1.1.0开始支持): 当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。
3、全局的 getApp() 函数可以用来获取到小程序 App 实例
不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
通过 getApp() 获取实例之后,不要私自调用生命周期函数。

二、小程序场景值

1、对于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取上述场景值。
2、对于小游戏,可以在 wx.getLaunchOptionsSync 和 wx.onShow 中获取上述场景值

三、页面Page(Object)

Page({
  data:{
    //页面第一次渲染的 *初始数据*
  },
  onLoad(){
    // 页面加载时触发,可以获取当前页面路径中的参数
    console.log(this.route)
  },
  onShow(){
    // 页面显示/切入前台时触发
  },
  onReady(){
    //页面完成初次渲染时触发
  },
  onHide(){
    //页面隐藏/切入后台时触发
  },
  onUnload(){
    //页面卸载时触发
  },
  onPullDownRefresh(){
    //监听用户下拉刷新事件
  },
  onReachBottom(){
    //监听用户上拉触底事件
  },
  onPageScroll(Object){
    // 监听用户滑动页面事件。
    //注意:请只在需要的时候才在 page 中定义此方法,不要定义空方法。以减少不必要的事件派发对渲染层-逻辑层通信的影响。 
    //注意:请避免在 onPageScroll 中过于频繁的执行 setData 等引起逻辑层-渲染层通信的操作。尤其是每次传输大量数据,会影响通信耗时。
  },
  onShareAppMessage(Object){
    //监听用户点击页面内转发按钮(<button> 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容。
  },
  onResize(object){
    //小程序屏幕旋转时触发
  },
  onTabItemTap(Object){
    //点击tab时触发
  },
  add(){
    //组件事件处理函数
    this.setData ({
      text:'helo'
    })
  } 

})

四、页面生命周期

页面生命周期-引用小程序文档

五、路由

1、getCurrentPages()
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。


这就相当于一个栈

注意:

  • 不要尝试修改页面栈,会导致路由以及页面状态错误。
  • 不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。
    2、路由方式
  • navigateTo, redirectTo 只能打开非 tabBar 页面。
  • switchTab 只能打开 tabBar 页面。
  • reLaunch 可以打开任意页面。
  • 页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
  • 调用页面路由带的参数可以在目标页面的onLoad中获取。

六、模块化

用module.exports暴露出来的一个单独的js文件,写一写方法。使用时通过require引入,require暂时不支持绝对路径。

七、API

1、事件监听API:以 on 开头的API是用来监听某个时间是否触发。
2、同步API:以 Sync 结尾的 API 都是同步 API。
3、异步API:大多数 API 都是异步 API

相关文章

  • 初识小程序-逻辑层

    逻辑层 逻辑层,是事务逻辑处理的地方。对于微信小程序而言,逻辑层就是所有.js脚本文件的集合。微信小程序在逻辑层将...

  • 微信小程序基础

    微信小程序介绍微信小程序开发工具的使用微信小程序框架文件微信小程序逻辑层微信小程序视图层微信小程序组件介绍微信小程...

  • HTML

    现在才是对于微信小程序有一个客观的理解。微信小程序分为 逻辑层和视图层,逻辑层负责一些底层的逻辑的编写,视图层,使...

  • 微信小程序知识点

    8-1 微信小程序渲染层和逻辑层的交互原理 网页开发和小程序开发的渲染层和逻辑层之间的比较: dom操作就是doc...

  • 微信小程序-逻辑层

    基于JavaScript开发,增添了一些新功能1、增加 App 和 Page 方法,进行程序和页面的注册。2、增加...

  • 微信小程序开发学习总结(二) WXML

    一.WXML。 对于微信小程序而言,视图层就是所有.wxml文件与.wxss文件的集合。微信小程序在逻辑层将数据进...

  • Wechat MP LifeCycle

    微信小程序(MP, Mini Program)框架分为两层 视图层 View 逻辑层AppService 视图层 ...

  • 小程序生命周期函数

    微信小程序的逻辑层主要包括:小程序的初始化过程和页面的初始化过程。微信小程序使用了App和Page方法进行了程序和...

  • 微信小程序开发教程(基础篇)9-事件

    前面说到,微信小程序框架是逻辑层与UI层分析的设计方式,这种设计方式需要解决两个问题 UI层响应逻辑层逻辑和数据的...

  • 微信小程序的逻辑层

    关于开发微信小程序的逻辑层主要分为三部分: 1.程序注册 2.页面注册 3.模块化 一、程序注册 在app.js提...

网友评论

      本文标题:微信小程序-逻辑层

      本文链接:https://www.haomeiwen.com/subject/opscmqtx.html