iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序中控制器的初始化逻辑是什么
  • 712
分享到

微信小程序中控制器的初始化逻辑是什么

2023-06-05 03:06:08 712人浏览 独家记忆
摘要

微信小程序中控制器的初始化逻辑是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面介绍微信小程序的控制器index.js的实现, 即mvc设计理念的C-Controller

微信小程序中控制器的初始化逻辑是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

下面介绍微信小程序的控制器index.js的实现, 即mvc设计理念的C-Controller-控制器。不过严格意义上说,按照微信小程序官方文档里介绍的,微信小程序实际采取的是ReactVue的MVMM的设计思路,提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS只需要管理状态,然后再通过一种模板语法来描述状态和界面结构的关系即可。

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

//获取应用实例

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函数,用于响应微信小程序的用户输入,比如视图上的按钮点击事件等等。

看完上述内容,你们掌握微信小程序中控制器的初始化逻辑是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 微信小程序中控制器的初始化逻辑是什么

本文链接: https://www.lsjlt.com/news/240917.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序中控制器的初始化逻辑是什么
    微信小程序中控制器的初始化逻辑是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面介绍微信小程序的控制器index.js的实现, 即MVC设计理念的C-Controller...
    99+
    2023-06-05
  • 微信小程序框架逻辑层是什么意思
    这篇文章主要为大家展示了“微信小程序框架逻辑层是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序框架逻辑层是什么意思”这篇文章吧。逻辑层(App Service)小程序开发框架的...
    99+
    2023-06-26
  • 怎么在Java中控制程序的逻辑
    怎么在Java中控制程序的逻辑?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对...
    99+
    2023-06-14
  • 微信小程序的运行机制是什么
    今天小编给大家分享一下微信小程序的运行机制是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、本质首先,小程序的逻辑层和...
    99+
    2023-06-30
  • Android和微信小程序的初始页面怎么设置
    这篇文章主要讲解了“Android和微信小程序的初始页面怎么设置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android和微信小程序的初始页面怎么设置”吧!CRM Webclient U...
    99+
    2023-06-04
  • 微信小程序运行机制是什么
    小编给大家分享一下微信小程序运行机制是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!运行机制小程序没有重启的概念当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁置顶的小程...
    99+
    2023-06-26
  • 微信小程序中WXSS是什么
    这篇文章主要介绍微信小程序中WXSS是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!WXSSWXSS(WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式。WXSS用来决定WXML的...
    99+
    2023-06-26
  • 微信小程序中wx-promise-request是什么
    这篇“微信小程序中wx-promise-request是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“微信小程序中wx-promise-request是什么”,小编整理了以下知识点,请大家...
    99+
    2023-06-26
  • 微信小程序运维中心是什么
    这篇文章主要为大家展示了“微信小程序运维中心是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序运维中心是什么”这篇文章吧。  “公众平台新增小程序运维中心,可方便开发者及时了解到自己...
    99+
    2023-06-26
  • 微信小程序中WXS是什么意思
    这篇“微信小程序中WXS是什么意思”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“微信小程序中WXS是什么意思”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-26
  • 微信小程序中相机组件控制wx.createCameraContext怎么用
    这篇“微信小程序中相机组件控制wx.createCameraContext怎么用”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“微信小程序中相机组件控制wx.createCameraContext怎么用”,给大家总结了以下内容...
    99+
    2023-06-26
  • 微信小程序中富文本编辑器的实现
    小程序也是有富文本编辑器这个控件的,别说,之前我还真没注意。 官方文档 官方文档中给出的东西倒是不多,具体的代码示例在下图红框中标注的位置: 示例代码大概是这个样子: 通过官方的...
    99+
    2024-04-02
  • 微信小程序中音频组件控制wx.createAudioContext怎么用
    这篇文章主要为大家展示了微信小程序中音频组件控制wx.createAudioContext怎么用,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序中音频组件控制wx.createAudioC...
    99+
    2023-06-26
  • Linux中systemd的初始化流程是什么
    在Linux中,systemd是一个系统和服务管理器,它负责启动系统服务和管理系统进程。systemd的初始化流程如下: 系统引...
    99+
    2024-04-02
  • 微信小程序定制与模板的区别是什么
    本篇内容主要讲解“微信小程序定制与模板的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序定制与模板的区别是什么”吧!微信小程序,基于微信运行的手机应用。由于是基于微信运行的,而...
    99+
    2023-06-27
  • 微信小程序提高转化率的方法是什么
    这篇文章主要介绍“微信小程序提高转化率的方法是什么”,在日常操作中,相信很多人在微信小程序提高转化率的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序提高转化率的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-26
  • Android中多个ContentProvider的初始化顺序是什么
    这篇“Android中多个ContentProvider的初始化顺序是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“An...
    99+
    2023-06-30
  • 微信小程序的五种选择器是什么
    本文小编为大家详细介绍“微信小程序的五种选择器是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序的五种选择器是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。picker从底部弹起的滚动选择器,现...
    99+
    2023-06-26
  • Vue Router中Matcher的初始化流程是什么
    这篇文章主要讲解了“Vue Router中Matcher的初始化流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue Router中Matcher的初始化流程是...
    99+
    2023-06-30
  • Java Web项目中Android和微信小程序的初始页面如何配置
    这篇文章给大家分享的是有关Java Web项目中Android和微信小程序的初始页面如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java Web项目我们在Eclipse里开了Java Web项目之后,R...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作