Ext.js - 架构


Ext JS 遵循 MVC/ MVVM 架构。

MVC - 模型视图控制器架构(版本 4)

MVVM - 模型视图视图模型(版本 5)

这种架构对于程序来说不是强制性的,但是,最好遵循这种结构,以使您的代码具有高度可维护性和组织性。

带有 Ext JS 应用程序的项目结构

----------src
----------resources
-------------------CSS files
-------------------Images
----------JavaScript
--------------------App Folder
-------------------------------Controller
------------------------------------Contoller.js
-------------------------------Model
------------------------------------Model.js
-------------------------------Store
------------------------------------Store.js
-------------------------------View
------------------------------------View.js
-------------------------------Utils
------------------------------------Utils.js
--------------------------------app.js
-----------HTML files

Ext JS 应用程序文件夹将驻留在项目的 JavaScript 文件夹中。

该应用程序将包含带有 app.js 的控制器、视图、模型、存储和实用程序文件。

app.js - 程序流程开始的主文件,应使用 <script> 标签包含在主 HTML 文件中。应用程序调用应用程序的控制器来实现其余功能。

Controller.js - 它是 Ext JS MVC 架构的控制器文件。它包含应用程序的所有控制、事件侦听器以及代码的大部分功能。它为该应用程序中使用的所有其他文件(例如 store、view、model、require、mixins)定义了路径。

View.js - 它包含向用户显示的应用程序的界面部分。Ext JS使用各种UI丰富的视图,可以根据需求在这里进行扩展和定制。

Store.js - 它包含本地缓存的数据,这些数据将在模型对象的帮助下呈现在视图上。存储使用代理来获取数据,代理为服务定义了获取后端数据的路径。

Model.js - 它包含将商店数据绑定到视图的对象。它具有后端数据对象到视图 dataIndex 的映射。数据是在 store 的帮助下获取的。

Utils.js - 它不包含在 MVC 架构中,但用于使代码干净、复杂且更具可读性的最佳实践。我们可以在此文件中编写方法,并在需要时在控制器或视图渲染器中调用它们。它对于代码可重用性也很有帮助。

在MVVM架构中,控制器被ViewModel取代。

ViewModel - 它基本上调解视图和模型之间的变化。它将模型中的数据绑定到视图。同时,它与视图没有任何直接的交互。它仅具有模型知识。

怎么运行的

例如,如果我们在 UI 中的两到三个位置使用一个模型对象。如果我们更改 UI 某个位置的值,我们甚至无需保存该更改即可看到。模型的价值会发生变化,因此无论模型在何处使用,都会反映在 UI 中的所有位置。

由于绑定数据不需要额外的编码,因此它使开发人员的工作变得更加轻松和轻松。