Ext.app.Application一般用于app.js中

用来初始化整个应用

可以预先加载controllers(控制器),models(模型),stores(数据源),views(视图)

例如:

 Ext.application({
name: 'MyApp', controllers: ['Users'],
models: ['User', 'Group'],
stores: ['Users'],
views: ['Main', 'ShowUser']
});

他们分别对应下面几个js文件

  app/model/User.js
  app/model/Group.js
  app/store/Users.js
  app/controller/Users.js
  app/view/Main.js
  app/view/ShowUser.js

如果应用结构比较复杂,例如在视图文件夹之中还创建了子文件夹,可以如下

 Ext.application({
name: 'MyApp', controllers: ['Users', 'nested.MyController'],
views: ['products.Show', 'products.Edit', 'user.Login']
});

他们分别对应下面几个js文件

  app/controller/Users.js
  app/controller/nested/MyController.js
  app/view/products/Show.js
  app/view/products/Edit.js
  app/view/user/Login.js

以上两种方式结合如下

 Ext.application({
views: ['Auth.view.LoginForm', 'Welcome'],
controllers: ['Auth.controller.Sessions', 'Main'],
models: ['Auth.model.User']
});

他们分别对应下面几个js文件

  Auth/view/LoginForm.js
  Auth/controller/Sessions.js
  Auth/model/User.js
  app/view/Welcome.js
  app/controller/Main.js

为了方便管理,我一般只在这里引入控制层,其他的放在对应的控制层,app.js如下

 //指定ux起调目录
Ext.Loader.setPath({
'ux': 'app/ux'
}); Ext.application({
name: 'app',
controllers: ['Main', 'Job', 'User', 'New', 'Img', 'Question', 'Release'],
requires: ['app.config', 'app.util'],
//图标
icon: {
'57': 'resources/icons/icon.png',
'72': 'resources/icons/icon.png',
'114': 'resources/icons/icon.png',
'144': 'resources/icons/icon.png'
},
//运行图标优先显示
isIconPrecomposed: true,
//不同分辨率对应的启动图片
startupImage: {
'320x460': 'resources/startup/splash.png',
'640x920': 'resources/startup/splash.png',
'768x1004': 'resources/startup/splash.png',
'748x1024': 'resources/startup/splash.png',
'1536x2008': 'resources/startup/splash.png',
'1496x2048': 'resources/startup/splash.png'
},
//当所有的引入项加载完成后,执行
launch: function() {
// Destroy the #appLoadingIndicator element
util.inIt();
Ext.fly('appLoadingIndicator').destroy();
}
});

其中值得注意的属性有

  appFolder 默认值:app  应用目录名称

  所以我们的主要代码是放在app目录中的,当然也可以改成其他的值,比如test

  不过更改之后最好如下设置,以免应用出现问题,个人建议默认即可

 Ext.Loader.setPath({
'app': 'test'
});

  

  name 默认值:app  应用程序名称

  如果你改成其他的名称,比如test

  那你注册一个model他的名称应该是类似test.model.user

  个人建议使用默认值

  

  icon 应用启动图标

  如果使用cmd打包应用,需要配置

  requires 引入指定js

  比如全局配置文件,全局共用方法,消息提示组件等

关于Ext.app.Application有其他看法和疑问的欢迎留言探讨

  

  

  

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

  1. Ext.app.Application

    代表性的ExtJS应用程序,通常是用Ext.container.Viewport创建的经典的单页面应用程序. 一个程序由一个或多个视图(View)组成.视图的行为表现由它对应的视图控制器(Ext.ap ...

  2. 初探 Ext JS 6 (sencha touch/ext升级版)

    Sencha Touch 现在已全面升级至Ext Js 6,那么我们如何使用他们呢? 首先去官网下载最新的sdk和帮助文档 sdk下载地址:https://www.sencha.com/product ...

  3. 再探 Ext JS 6 (sencha touch/ext升级版) 变化篇 (编译命令、滚动条、控制层、模型层、路由)

    从sencha touch 2.4.2升级到ext js 6,cmd版本升级到6.0之后发生了很多变化 首先从cmd说起,cmd 6 中sencha app build package不能使用了,se ...

  4. sencha touch Ext.Ajax.request 错误 Cannot call method 'request' of undefined 解决方案

    凡是Cannot call method '' of undefined 这类错误大部分都可以参照下面的办法来解决 在st中有时候你会发现使用Ext.Ajax.request会出现一下错误: Cann ...

  5. sencha touch/Ext Js 6 + 自定义扩展的用法

    app.js中加入以下代码 //指定ux起调目录 Ext.Loader.setPath({ 'ux': 'app/ux' }); 在app目录中创建一个ux文件夹 假如我们使用这个扩展,扩展地址:ht ...

  6. sencha touch的开源插件和例子

    写了好久的sencha touch,没想到换工作竟然一年多没有搞了.因为项目的缘故收集了好多的组件,由于懒惰,没有整理,现在想想有点后悔了,再加上如果就这样丢弃,感觉有些遗憾,今天整理了一下放在git ...

  7. (转)Sencha Touch和jQuery Mobile的比较

    原文:http://extjs.org.cn/node/664 Sencha Touch和jQuery Mobile的比较 Posted 周三, 08/07/2013 - 10:07 by admin ...

  8. Sencha Touch 和 jQuery Mobile 的比较

    Sencha Touch 和 jQuery Mobile 的比较 英文原文:Sencha Touch vs jQuery Mobile 标签: Sencha Touch jQuery Mobile 1 ...

  9. sencha touch 入门系列 (六)sencha touch运行及代码解析(下)

    接着上一讲,通过index.html里development.js对app.json里js资源文件的解析,app.js便被index.html引入了, app.js是整个项目的程序入口,在项目完成时使 ...

随机推荐

  1. linux中kill命令

    Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须 ...

  2. 【WP8】键盘弹出时控制Frame位置

    WP上,当使用TextBox输入文字的时候,键盘会把TextBox向上推一段距离 当编辑第二个TextBox的时候,页面被上推,键盘刚好和TextBox靠在一起 当编辑第一个TextBox的时候,页面 ...

  3. 《构建高性能web站点》读书笔记:CPU/IO并发策略

    服务器并发处理能力:单位时间内处理的请求数,吞吐率,reqs/s apache的mod_status,显示的 requests/sec,从启动开始的平均计算值.lighttpd的mod_status显 ...

  4. Webkit内核探究【2】——Webkit CSS实现

    注:[转载请注明文章来源.保持原样] 出处:http://www.cnblogs.com/jyli/archive/2010/01/31/1660364.html 作者:李嘉昱 CSS在Webkit中 ...

  5. 服务端API安全解决方案

    由于server端和client端需要通信,所以api的安全性需要保证 1.完全开放的 一般只是查询,不能执行增.删.改的操作 裸奔的 <?php public function getGood ...

  6. Visual Studio 2012中使用GitHub

    前言 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等 一系列工具进行Copy,然后回家才能继续在原来的基础上作业 ...

  7. [转] Linux常用命令大全(非常全!!!)

    出处:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得 ...

  8. Python 多线程相关知识学习

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  9. Java并发:多线程和java.util.concurrent并发包总结

    多线程和java.util.concurrent并发包 转载:

  10. 让你的应用支持新iPad的Retina显示屏

    一.应用图片标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源.就像当初为了支持iPhone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为i ...