sencha touch Ext.app.Application
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的更多相关文章
- Ext.app.Application
代表性的ExtJS应用程序,通常是用Ext.container.Viewport创建的经典的单页面应用程序. 一个程序由一个或多个视图(View)组成.视图的行为表现由它对应的视图控制器(Ext.ap ...
- 初探 Ext JS 6 (sencha touch/ext升级版)
Sencha Touch 现在已全面升级至Ext Js 6,那么我们如何使用他们呢? 首先去官网下载最新的sdk和帮助文档 sdk下载地址:https://www.sencha.com/product ...
- 再探 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 ...
- sencha touch Ext.Ajax.request 错误 Cannot call method 'request' of undefined 解决方案
凡是Cannot call method '' of undefined 这类错误大部分都可以参照下面的办法来解决 在st中有时候你会发现使用Ext.Ajax.request会出现一下错误: Cann ...
- sencha touch/Ext Js 6 + 自定义扩展的用法
app.js中加入以下代码 //指定ux起调目录 Ext.Loader.setPath({ 'ux': 'app/ux' }); 在app目录中创建一个ux文件夹 假如我们使用这个扩展,扩展地址:ht ...
- sencha touch的开源插件和例子
写了好久的sencha touch,没想到换工作竟然一年多没有搞了.因为项目的缘故收集了好多的组件,由于懒惰,没有整理,现在想想有点后悔了,再加上如果就这样丢弃,感觉有些遗憾,今天整理了一下放在git ...
- (转)Sencha Touch和jQuery Mobile的比较
原文:http://extjs.org.cn/node/664 Sencha Touch和jQuery Mobile的比较 Posted 周三, 08/07/2013 - 10:07 by admin ...
- Sencha Touch 和 jQuery Mobile 的比较
Sencha Touch 和 jQuery Mobile 的比较 英文原文:Sencha Touch vs jQuery Mobile 标签: Sencha Touch jQuery Mobile 1 ...
- sencha touch 入门系列 (六)sencha touch运行及代码解析(下)
接着上一讲,通过index.html里development.js对app.json里js资源文件的解析,app.js便被index.html引入了, app.js是整个项目的程序入口,在项目完成时使 ...
随机推荐
- http_build_query用法
http_build_query (PHP 5) http_build_query -- 生成 url-encoded 之后的请求字符串描述string http_build_query ( arra ...
- win7下命令行提示符从C盘进入E盘的文件夹下
进入E:\papercode\3D-point-cloud-generation-master\3D-point-cloud-generation-master
- Linux服务器svn与项目同步
命令:svn checkout svn://192.168.67.131/trunk/w1
- Vue-router路由判断页面未登录跳转到登录页面
router.beforeEach((to, from, next) => { if (to.matched.some(record => record.meta.requireAuth) ...
- lua中实现倒计时
今天在开发的时候,涉及到了使用倒计时来显示. 首先自己的思路是: 1.设计显示的Lable. 2.对传入的时间进行处理,转成字符串00:00:00.通过调用回调函数来控制一秒刷新一次. 转换算法: h ...
- CorelDRAW中关于锁定与解锁对象的操作
在编辑复制的图形时,有时为了避免对象受到操作的影响,可以使用“锁定与解锁对象”功能键对已经编辑好的对象进行锁定.被锁定的对象将不能进行任何编辑操作,本教程将详解CorelDRAW中关于锁定与解锁对象的 ...
- WebGL 浏览器函数
1.requestAnimationFrame(func) 请求浏览器在将来某时刻回调函数func以完成重绘.requestAnimationFrame()成功的一个关键是确定你在执行其他用户diam ...
- Python游戏《外星人入侵》来了~
在游戏<外星人入侵>中,玩家控制着一艘最初出现在屏幕底部中央的飞船.玩家可以使用箭头键左右移动飞船,还可使用空格键进行射击.游戏开始时,一群外星人出现在天空中,他们在屏幕中向下移动.玩家的 ...
- java使用jdom生成xml格式文件
本文生成xml使用的工具是jdom.jar,下载地址如下: 链接:https://eyun.baidu.com/s/3slyHgnj 密码:0TXF 生成之后的文档格式类型,就如上面的图片一样,简单吧 ...
- A股最新的自由现金流和折现估值查询
A股最新的自由现金流折现估值,利用自由现金流折现的经典公式,采用 8%.9%.10%.11%.12%.15% 等贴现率来进行估值. SH600000:浦发银行的最新自由现金流和折现估值模型: 浦发银行 ...