代表性的ExtJS应用程序,通常是用Ext.container.Viewport创建的经典的单页面应用程序。

一个程序由一个或多个视图(View)组成。视图的行为表现由它对应的视图控制器(Ext.app.ViewController)和视图模型(Ext.app.ViewModel)管理。

全局的活动是由控制器(Ext.app.Controller)来调整的,这个控制器基本上是由如下的类(或其子类)的实例来实例化的。

这个实例化的过程由几个步骤组成。首先,它创建一个全局变量,叫做“MyApp”-你程序中所有的类(如它的模板,视图和控制器)将位于此命名空间下。这将会大大降低全局变量命名冲突的可能性。

因为一个Ext.app.Application代表了整个app,我们需要在这里面设置app的其它部分-也就是跟程序绑定在一起的模型,视图和控制器。比如说,我们有一个博客管理程序;我们或许还有用来发帖子和评论的模板和控制器,用来列出,添加及编辑帖子和评论的视图。如下是我们要在Application里面配置的所有东西。

配置一些控制器,需要被加载的文件 ,Ext.container.Viewport,这个是必须被加载的。

注意,我们并没有直接在程序里列出视图。这是因为视图是由控制器来管理的,所以保持这种依赖是明智的。程序将根据路径控制协定加载每个被声明的控制器,这些协定在程序架构导引中列出-这样的话,控制器将会位于路径app/controller/Home.js和app/controller/LanCableCtrl.js下。反过来,每个控制器仅仅只需要列出它使用的视图,它们便会自动被加载。

将视图和模型文件列在控制器中,就会被自动加载。

Ext.app.Application的更多相关文章

  1. sencha touch Ext.app.Application

    Ext.app.Application一般用于app.js中 用来初始化整个应用 可以预先加载controllers(控制器),models(模型),stores(数据源),views(视图) 例如: ...

  2. 在android.app.Application中定义全局变量

    在Android应用中使用全局变量,除了public的静态变量,还有更优雅的方式是使用android.app.Application. 启动Application时,系统会创建一个PID,即进程ID, ...

  3. 新建Application 报错android.app.Application cannot be cast

    我在开发APP的时候重新使用了一个类,继承了android.app.Application.但是在运行的时候提示java.lang.ClassCastException: android.app.Ap ...

  4. java.lang.ClassCastException: android.app.Application cannot be cast to

    出这个异常的原因是在项目中添加了新lication类(public class Application extends lication)之后,没有在AndroidManifest.xml中添加该类的 ...

  5. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

    也调了快一天,死活找不到窍门. MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果. 最后,试着在APPLICATION里加入CONTROLLER, 在CONTROLLER里加 ...

  6. Extjs4.1.x使用Application动态按需加载MVC各模块

    我们知道Extjs4之后提出了MVC模块开发,将以前肥厚的js文件拆分成小的js模块[model\view\controller\store\form\data等],通过controller拼接黏合, ...

  7. Ext JS 6学习文档–第1章–ExtJS入门指南

    Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...

  8. Ext ApplicationController&ref的使用

    Ext ApplicationController&ref的使用 Ext.define('app.controller.ApplicationController', { //继承 Ext.a ...

  9. Ext viewport的渲染

    Ext viewport的渲染 1.在app.js里创建 Ext.application({ name: 'MySecurity', extend: 'MySecurity.Application', ...

随机推荐

  1. C# 窗口和程序的退出

    Application.Exit(); // 通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口. // 由 .NET Compact Framework 支持. Form.Close( ...

  2. PHP最全笔记(三)(值得收藏,不时翻看一下)

    /* [数组函数] *///统计计算count        计算数组中的单元数目或对象中的属性个数array_count_values  统计数组中所有的值出现的次数array_product    ...

  3. portfolio

    1.工作量计算逻辑: 原始待办事项: 预估2个冲刺,如下图所示: Sprint1的故事点计划工作量5,空闲工作量28.如下图 Sprint2为预估冲刺,指的是预估待办事项在后续冲刺的预估计划,后续冲刺 ...

  4. Mac 挂载树莓派nfs

    vim /etc/export /data_sda1/  192.168.1.*(rw,sync,insecure,no_root_squash) mac端自带rpcbind 挂载 sudo moun ...

  5. vue项目在安卓低版本机显示空白原因

    vue项目在安卓低版本机显示空白原因: 可能的原因一: 查看安卓debug,报错,可能有箭头函数语法错误,或者其他语法问题,那可能是ES6语法问题. 这时候需要安装babel-pollyfill. 网 ...

  6. Window应急响应(二):蠕虫病毒

    0x00 前言 ​ 蠕虫病毒是一种十分古老的计算机病毒,它是一种自包含的程序(或是一套程序),通常通过网络途径传播,每入侵到一台新的计算机,它就在这台计算机上复制自己,并自动执行它自身的程序. 常见的 ...

  7. elastaicsearch基础----->elastaicsearch的使用(一)

    这里面我们总结一下es的一些基础使用. es的基础用法 一.es索引的创建 在postman中,请求url地址:192.168.1.112:9200/user.请求方式:PUT.请求内容如下: { & ...

  8. mysql基础---->mybatis的批量插入(一)

    这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...

  9. Win7/Win8安装"我们无法创建新的分区,也找不到现有的分区"的解决方法

    如果你用pe启动光盘和pe启动盘.加载iso安装时遇到"我们无法创建新的分区,也找不到现有的分区"的情况.. 把iso里的boot和bootgmr以及sources复制到c盘,pe ...

  10. Tomcat服务器使用和debug

    1 在写程序的过程中,遇到了tomcat服务器不能重启的情况,要排查出这个错误并解决它. tomcat就像一棵树,我不能对书上的每片叶子的纹理都熟悉,我只能看到树的轮廓.好像之前出现过这个问题,在se ...