微信小程序开发系列四:微信小程序之控制器的初始化逻辑

微信小程序开发系列教程

微信小程序开发系列一:微信小程序的申请和开发环境的搭建json

微信小程序开发系列二:微信小程序的视图设计小程序

微信小程序开发系列三:微信小程序的调试方法微信小程序

这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hello World的微信小程序,并讲解了这个自动生成的微信小程序的视图开发原理。微信

本文继续介绍这个微信小程序的控制器index.js的实现, 即MVC设计理念的C-Controller-控制器。不过严格意义上说,按照微信小程序官方文档里介绍的,微信小程序实际采起的是React和Vue的MVMM的设计思路,提倡把渲染和逻辑分离。简单来讲就是不要再让 JS 直接操控 DOM,JS只须要管理状态,而后再经过一种模板语法来描述状态和界面结构的关系便可。微信开发

下面咱们来逐行分析index.js的代码:app

//获取应用实例框架

const app = getApp()函数

getApp是微信框架的方法,返回当前小程序的应用实例。一般状况下这是微信小程序控制器执行的第一行代码:工具

这个应用实例的建立是在咱们小程序控制器的访问范围以外由微信框架建立的,而后直接在getApp函数里返回建立好的app实例:学习

为何这个app实例如此重要,以致于放到控制器的第一行代码来建立呢?咱们直接在调试器里输入app而后回车,能看到这个app对象里包含了globalData这个属性和不少有用的方法。

有了app实例后,下一步须要建立的就是Page实例了。这个实例表明当前小程序页面,经过构造函数Page进行建立。

咱们一样能够在微信小程序调试器里输入Page而后回车查看这个构造函数的源代码,

或者直接单步调试进去学习。下图就是Page构造函数单步执行的状况,输入参数e为一个Json对象,

这个输入参数e包含的内容有:

咱们控制器index.js里实现的一个json对象,名称为data(做为当前微信小程序页面的数据模型,即MVC中的M),以下图红色下划线所示。

咱们控制器index.js里实现的三个JavaScript函数,用于响应小程序上用户点击事件。

总结一下,任何微信小程序,其控制器的逻辑只有两步:

  • 调用微信小程序框架提供的标准函数getApp, 得到一个小程序实例。
  • 调用微信小程序页面构造函数Page,初始化页面实例。咱们在控制器内主要的编码逻辑,主要集中在传入这个Page构造函数的输入参数,即一个json对象。

而这个json对象包含的属性也只有两类:

  • 第一类是另外一个json对象,做为MVC中的M,即数据模型。这个json数据模型的字段被绑定到微信小程序视图的某个UI元素,好比Text, Image的对应属性,这样就自动把数据模型里的字段显示到UI上了。
  • 第二类是咱们本身开发的JavaScript函数,用于响应微信小程序的用户输入,好比视图上的按钮点击事件等等。

这个系列的下一篇文章会详细介绍如何用JavaScript函数响应微信小程序的用户点击事件。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
相关标签/搜索