热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ExtJSMVC系列一:环境搭建与框架概览

本文主要介绍了如何在项目中使用ExtJS4作为前端框架,并详细讲解了ExtJS4的MVC开发模式。文章将从项目目录结构、相关CSS和JS文件的引用以及MVC框架的整体认识三个方面进行总结。

近期项目需要使用Ext JS 4作为前端框架,因此本文将详细介绍Ext JS 4的MVC开发模式。该系列文章旨在帮助读者全面了解Ext JS 4的MVC框架。本文将从以下几个方面进行总结:

1. 项目目录结构
2. 相关CSS文件和JS文件的引用
3. MVC框架的整体认识

项目目录结构

Ext JS 4采用了统一的目录结构,类似于ASP.NET MVC。在MVC模式中,所有类都放置在app目录下,该目录包含四个子目录(每个子目录代表一个命名空间),分别是controller、model、view和store。项目目录结构图如下所示:

ext01

相关CSS文件和JS文件的引用

为了使Ext JS 4正常工作,我们需要在首页的head标签中引用ext-all.css、bootstrap.js和项目的入口文件app.js。具体引用方式如下图所示:

ext02

MVC框架的整体认识

为了更好地理解Ext JS 4的MVC开发模式,我们先来看一张图,然后进行具体说明。

ext03

1. 每个应用都有一个Application对象,应用采用单一入口结构,通过快捷函数Ext.application({config})创建并运行Application对象实例。Application在创建时会加载Controller类,加载完成后正式启动。
2. Application启动时会创建一个Viewport实例,Viewport充当界面的骨架,用于拼装各种View,如布局形式和窗体控件。一个页面只能有一个Viewport实例。
3. View是一个界面组件或窗体控件的集合(例如表单、网格和窗口)。通过Store加载数据并展示到界面上,界面控件的响应逻辑写在Controller中,View对Controller的存在无感知,没有代码上的依赖。
4. Controller扮演粘合剂的角色,加载时会帮助加载相关的Model、Store和View类。其主要作用是通过一系列事件处理函数(如点击保存按钮)定义每个View上界面组件对用户交互行为的响应方法。Controller通过control成员函数进行事件绑定,使用ComponentQuery组件以类似CSS选择器的语法定位界面上的组件,并为其绑定事件处理器。
5. Model是对抽象数据的具体化,可以理解为数据库中的一行记录。
6. Store是对通过网络加载数据过程的抽象,通过data发送请求(通常为AJAX请求)到后台获取数据(通常返回JSON格式)。Store依赖于Model,通过关联的Model对象知道如何将取回的数据对象化。

总结一下,MVC架构的好处在于将View和Model抽象出来,使其能够更好地复用。一个面板做好后可以在多个地方调用,业务逻辑则被封装在Controller中,便于模块化开发系统。

下一篇将介绍如何利用Application、Viewport和View进行应用程序的初始化和页面布局。


推荐阅读
  • 本文详细介绍了如何手动编写兼容IE的Ajax函数,以及探讨了跨域请求的实现方法和原理,包括JSONP和服务器端设置HTTP头部等技术。 ... [详细]
  • 微信小程序配置详解:pages、window、tabBar与调试模式
    本文详细介绍了如何在微信小程序中配置pages、window、tabBar以及启用调试模式,帮助开发者更好地理解和应用这些配置选项。 ... [详细]
  • 本文探讨了PHP中使用命名空间和自动加载机制的重要性,特别是在大型项目中,如何有效管理和加载文件,避免代码冗余,提高开发效率。 ... [详细]
  • iOS 面试实战:15 道经典面试题及解析
    本文精选了15道iOS面试题,并提供了详细的解答思路。旨在帮助开发者更好地准备面试,避免因准备不足而导致的紧张和焦虑。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本文旨在为初学者提供一个详细的指南,从零开始学习如何使用 ASP.NET MVC5 和 Entity Framework 6 (EF6) 搭建项目。通过逐步指导,帮助读者理解 MVC 架构的核心概念,并掌握基本的操作方法。 ... [详细]
  • 本文详细介绍了如何在VUE开发环境中正确安装和配置Nightwatch及Karma相关插件,并解决运行测试时遇到的Java版本不兼容问题。 ... [详细]
  • 应用程序配置详解
    本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ... [详细]
  • 在Backbone框架中,视图(View)的操作至关重要,包括模板渲染及事件处理等。为了提升代码的可读性和维护性,通常建议将界面根据功能拆分为多个视图。本文将探讨如何在父子视图间有效地传递值,并指出在实现过程中应注意的关键点。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 使用 NDB 提升 Node.js 应用调试体验
    本文介绍了由 Google Chrome 实验室推出的新一代 Node.js 调试工具 NDB,旨在为开发者提供更加高效和便捷的调试解决方案。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
author-avatar
萧勇志762852
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有