`

Ext4.2学习笔记-Ext.application

 
阅读更多

Ext.app.Application 代表一个ExtJS4 应用.这是一个典型的使用Viewport的单页应用.一个典型的Ext.app.Application 一般如下:

Ext.application({
    name:'MyApp',
    launch:function(){Ext.create('Ext.container.Viewport',{
            items:{
                html:'My App'}});}});

这做了很多的事情。首先,创建了一个名为MyApp的全局变量.所有的应用程序类(如Models,Views,Controllers)都被认为在一个单独的命名空间下。这大幅降低了全局变量名冲突的机会。MyApp也有一个全局的方法来获得对当前应用的引用

var app =MyApp.getApplication();

当所有的页面内容准备好并且所有的javascript被加载后,你的应用程序的launch函数被调用,此刻启动您的应用程序并运行代码。通常这些代码就想我们上面的实例一样包含创建一个Viewport

 

告诉整个应用的rest

由于一个Ext.app.Application代表了一个完整的app,我们也告诉应用程序的其他部分。比如,我们有个blog管理系统。我们可能有文章和评论的模型,控制器以及列举,增加,编辑文章和评论的视图。我们如何通知我们的应用程序这些事情呢:

Ext.application({
    name:'Blog',
    models:['Post','Comment'],
    controllers:['Posts','Comments'],

    launch:function(){...}});

注意:实际上,我们并没有在应用程序中直接列举视图。这是因为视图由控制器管理,这很明显的保持了这些依赖。应用程序将按照应用程序架构指南中描述的路径约定加载每个指定的控制器--这种情况下,假定控制器被放置在app/controller/Post.js和app/controller/Comments.js中。换句话说,每个控制器都需要显示他用到的视图并且自动加载他们。以下是文章控制器如何定义:

Ext.define('MyApp.controller.Posts',{
    extend:'Ext.app.Controller',
    views:['posts.List','posts.Edit'],//the rest of the Controller here});

因为,我们已经告诉了应用程序关于Models和Controllers,以及控制器对应的视图,ExtJS将为我们自动加载app文件。这意味着当我们需要增加一个新类的时候,不需要增加script标签到我们的html中,而且更重要的是他可以让我们使用SenchaCmd 创建整个应用程序一个最小的构建

 

从Ext.app.Application中导出(派生Ext.app.Application)

通常,应用程序不能直接从Ext.app.Application中导出,但,可以通过配置Ext.application模仿在派生类中你能做什么。然而,在有些情况下,你也可以通过Ext.app.Application的派生类来描述通用逻辑

???

Ext.define('MyApp.app.Application',{
    extend:'Ext.app.Application',
    name:'MyApp',...});Ext.application('MyApp.app.Application');

???

要了解更多关于ExtJS4 应用程序信息,请查看应用程序架构指南

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Ext API详解--笔记

    `EXT核心API详解(一) - Ext类.txt`介绍了Ext的基础类,包括`Ext.util.Observable`(观察者模式的实现)、`Ext.app.Application`(管理应用生命周期)等。理解这些类的用法对于构建可维护的应用至关重要。 4. **Ext...

    Gwt-ext学习笔记之基础篇

    ### Gwt-ext学习笔记之基础篇 #### 一、安装CypalStudio工具 为了能够开始Gwt-ext的学习之旅,首先需要确保开发环境已经搭建好。CypalStudio是一款非常实用的工具,它能帮助开发者更高效地进行GWT项目的开发。 1....

    Sencha touch学习笔记一:用Sencha Cmd方式创建第一个应用

    本篇学习笔记将聚焦于如何使用Sencha Cmd工具来创建你的第一个Sencha Touch应用。 首先,你需要安装Sencha Cmd。这是一款命令行工具,简化了Sencha Touch应用的创建、构建和部署流程。你可以从Sencha的官方网站下载...

    阿里P8 架构师整理Java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 一、JVM与内存管理 **1.1 JVM基本概念** - **JVM(Java Virtual Machine)**: Java虚拟机是执行Java字节码的虚拟机,它提供了运行Java程序所需的环境。 **1.2 线程** - **线程...

    java之jvm学习笔记五(实践写自己的类装载器)

    这个“java之jvm学习笔记五(实践写自己的类装载器)”很可能是对这一主题的详细探讨。 类装载器在Java中的主要职责是动态加载类到JVM中。Java的类装载器分为三个基本层次:启动类装载器(Bootstrap ClassLoader)、...

    struts2学习笔记十三(第13讲.Struts2的文件上传和下载续)

    在本篇“Struts2学习笔记十三”中,我们将深入探讨Struts2如何处理文件上传和下载,这是Web开发中常见的需求。 文件上传在Web应用中广泛用于让用户提交图片、文档或其他类型的数据。Struts2提供了一个名为`...

    suse_linux10安装及linux下的各服务器安装与部署学习笔记.pdf

    - 创建3个主分区:/boot(256MB,Ext3)、swap(物理内存的两倍,作为交换分区)、/(10GB,Ext3)。 - 创建1个扩展分区,其中包含:/tmp(4GB)、/var(4GB)、/usr(10GB)、/opt(4GB)、/home(4GB)、/app...

    对初学者有帮助的Ext笔记

    这篇文档是针对初学者的Ext学习笔记,涵盖了JavaScript、CSS、数据库权限管理、JSP编码问题以及Flex/MXML等多个IT领域的基础知识。以下是这些知识点的详细解释: 1. JavaScript中的`replaceAll`方法:在JavaScript...

    java 学习笔记(经典)

    根据提供的文件信息,这里将对Java学习笔记中的关键知识点进行详细阐述,主要涉及Java语言的基础概念、面向对象编程思想的应用以及Java类加载器的工作原理等内容。 ### Java学习基础 Java是一种广泛使用的高级编程...

    深入Java虚拟机JVM类加载学习笔记

    ### 深入Java虚拟机JVM类加载学习笔记 #### 一、Classloader机制解析 在Java虚拟机(JVM)中,类加载器(ClassLoader)是负责将类的`.class`文件加载到内存中的重要组件。理解类加载器的工作原理对于深入掌握JVM以及...

    ExtJS使用笔记

    在典型的ExtJS应用程序中,你会看到很多标准的模式,如页面加载时通过Ext.onReady事件启动应用程序,以及使用Ext.application定义应用程序的启动入口。ExtJS程序启动后,会创建主窗口或其他容器组件,然后通过添加各...

    PHP文件上传与下载学习笔记

    header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="yourfile.ext"'); readfile('path/to/yourfile.ext'); ``` 这将会触发浏览器的下载对话框,让用户选择...

    我的Ajax学习笔记

    3. **IDE差异**:开发时需要注意不同集成开发环境(如MyEclipse和IntelliJ IDEA)中Application Context的配置和使用方式。 4. **参数校验**:为了确保程序的健壮性,服务器端需要对用户输入的参数进行边界校验,...

    UniGui学习笔记

    UniGui学习笔记 UniGui 是一个基于 Delphi 的 Web 开发框架,它提供了一个强大的开发环境,允许开发者快速构建 Web 应用程序。在 UniGui 中,我们可以使用 Delphi 的控件和组件来构建 Web 界面,并使用 Delphi ...

    类的加载机制笔记

    2. **扩展类加载器(Extension ClassLoader)**:它继承自启动类加载器,主要负责加载<JAVA_HOME>\jre\lib\ext目录下的jar包,以及由java.ext.dirs系统变量所指定目录中的所有jar包。开发者可以直接使用扩展类加载器...

    oracle10学习

    通过这份"Oracle学习笔记",你可以系统地学习和掌握Oracle 10的相关知识,无论你是初学者还是有经验的DBA,都能从中受益。实践中不断探索和学习,将理论知识与实际操作相结合,才能更好地驾驭Oracle数据库系统。

Global site tag (gtag.js) - Google Analytics