我应该在 Sencha Touch 2 中扩展 Ext.app.Application 类吗?我有几个应用程序通用的功能,例如:为应用程序中配置的所有商店做一些事情。如果是,我如何在 app.js 中启动应用程序?
问问题
711 次
1 回答
6
我会回答ExtJS 4.0.x / 4.1.x和 SenchaTouch 2.0.x / 2.1.x
你不应该延长Ext.app.Application
为什么?
您一次只能有一个活动应用程序,应该(需要)始终通过调用来配置和启动Ext.application({...});
。
与往常一样,有一些方法可以解决这个问题(在两个框架中),然后您可以使用自己的实例。但是不推荐!
需要什么?
基本上,唯一需要做的就是在Ext.application
方法中重新实现和扩展代码,以便它能够处理任何其他类Ext.app.Application
。我将只添加一个 SenchaTouch 示例,对于 ExtJS,请参见代码下方的 ExtJS4.2 部分。
SenchaTouch 示例
application: function(appClass,config) {
var appName = config.name,
onReady, scope, requires;
if (!config) {
config = {};
}
if (!Ext.Loader.config.paths[appName]) {
Ext.Loader.setPath(appName, config.appFolder || 'app');
}
requires = Ext.Array.from(config.requires);
config.requires = [appClass];
onReady = config.onReady;
scope = config.scope;
config.onReady = function() {
config.requires = requires;
Ext.create(appClass, config);
if (onReady) {
onReady.call(scope);
}
};
Ext.setup(config);
},
ExtJS 4.2 的注释
Sencha 宣布了 ExtJS 4.2,它将允许我们从Ext.app.Application
类中扩展
于 2013-01-22T12:07:32.410 回答