首页 > 编程语言 >框架-逻辑层(逻辑层简介和注册程序)

框架-逻辑层(逻辑层简介和注册程序)

时间:2022-08-20 00:33:06浏览次数:53  
标签:逻辑 简介 App 程序 onLaunch getApp 注册 页面

逻辑层简介

小程序逻辑层

小程序开发框架的逻辑层是使用JavaScript编写的。

逻辑层将数据进行处理后发送给视图层,同时接收视图层的事件反馈。

在 JavaScript 的基础上,微信做了一些修改,以方便地开发小程序。

  • 增加 App 和 Page 方法,进行程序和页面的注册。
  • 增加 getApp和getCurrentPages 方法,分别用来获取 App 实例和当前页面栈。
  • 提供丰富的 API,如微信用户数据,扫一扫,支付等微信特有能力。
  • 每个页面有独立的作用域,并提供模块化能力。
  • 由于框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等。
  • 开发者写的所有代码最终将会打包成一份 JavaScript,并在小程序启动的时候运行,直到小程序销毁。类似 ServiceWorker,所以逻辑层也称之为 App Service。

注册程序

App()

App() 函数用来声明小程序。其接收 object 类型参数,其指定小程序的生命周期函数等。

object参数说明:
image

image

前台、后台定义: 当用户点击左上角“关闭”,或者按了设备 “Home” 键离开微信,小程序并没有直接销毁,而是进入了后台;

当再次进入微信或打开小程序,又会从后台进入前台。

需要注意的是:只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

关闭小程序: 当用户从扫一扫、转发等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。(基础库版本1.1.0开始支持,1.4.0版本已改变规则不再适用

示例代码:

App({
  onLaunch: function(options) {
    // Do something initial when launch.
  },
  onShow: function(options) {
      // Do something when show.
  },
  onHide: function() {
      // Do something when hide.
  },
  one rror: function(msg) {
    console.log(msg)
  },
  globalData: '爱如海大'
})

onLaunch, onShow 参数

上面讲到App()函数,其中onLaunch, onShow参数有他们特定的回调参数
image

image

以下场景支持返回 referrerInfo.appId:
image

getApp()

全局的getApp()函数可以用来获取到小程序实例。

// other.js
var appInstance = getApp()
console.log(appInstance.globalData) //我们之前在app.js中定义了globalData,故将会输出 '爱如海大'

注意:

  • App() 必须在 app.js 中申明,且不能申明多个。
  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
  • 不要在 onLaunch 的时候调用 getCurrentPages(),因为此时 page 还没有生成。
  • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。

getCurrentPages():获取到页面栈的所有页面Page对象组成的数组

image

标签:逻辑,简介,App,程序,onLaunch,getApp,注册,页面
From: https://www.cnblogs.com/Steph/p/16606988.html

相关文章

  • python操作mysql的应用(重复运行注册用户的接口)
    1.comm里放置数据操作代码2.conftest.py里放置删除用户代码3.test_register.py里放置测试注册用户的代码(运行注册接口之前先从数据库删除注册的账号)  ----------......
  • 未注册单字母及单拼域名——.xyz篇
    .xyz,Internet网址域名后缀,全球通用的新顶级域名,简单来说就是网址中最右边一个“点”后面的字符,由XYZ注册局运营。Slogan是“Foreverywebsite,everywhere®”(适用于每个......
  • 基于Zookeeper案例实现微服务动态注册和发现案例
    zookeeper+dubbo微服务架构 创建provider资源      创建dubboprovider生产者Dockerfileroot@deploy:/dockerfile/project/dubbo#catDockerfile#Dubbop......
  • 逻辑控制语句和循环控制语句
    逻辑控制语句if语句if(条件表达式){语句体;}意思:如果....条件表达式返回的结果如果为true,则执行语句体,如果为false则跳过当前if条件判断 if(条件表达......
  • SpringCloud学习之注册中心搭建过程中的一些问题
    问题1 解决方案:这个问题需要在application.properties里添加 hostname这项配置,奇葩的是这个地方只能配localhost,配成其他值一样会报上述错误。 ......
  • 吴恩达机器学习笔记|(3)逻辑回归(Logistic-Regression)
    一、分类问题介绍\(y\in\{0,1\}\)0:NegativeClass1:PositiveClass例子:邮件分类;肿瘤分类;LogisticRegression的特点其预测值介于0-1间,而不会大于1或小于0事......
  • 逻辑分析仪的简单使用介绍(附带i2c、串口、spi数据分析)
    本次文章给大家介绍一种便宜好用的协议分析工具,逻辑分析仪,首先声明,小飞哥作这篇介绍文章,不是为了打广告哈,实在是因为这个小玩意很好用,有些小伙伴还不太清楚该如何使用!!!废话......
  • SpringBoot简介
    SpringBoot简介回顾什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简......
  • 【Java基础】逻辑运算符&,&&,|,||,!,^
    1.逻辑运算符用于连接布尔型表达式,例如:x>3&&x<62.&和&&的区别表示and(1)&,左边无论真假,右边都进行运算。(2)&&,如果左边为真,右边参与运算;如果左边为假,那么右边不参与......
  • ECharts 中的样式简介
    ECharts中的样式简介本文主要是大略概述,用哪些方法,可以在ApacheEChartsTM中设置样式,改变图形元素或者文字的颜色、明暗、大小等。为了让表述更通俗易懂,我们在这里用......