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
なんで?
一度に 1 つのアクティブなアプリケーションしか持つことができません。これは、常に構成して呼び出して開始する必要があります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 への注意
Ext.app.Application
Sencha は、クラスからの拡張を可能にする ExtJS 4.2 を発表しました。
于 2013-01-22T12:07:32.410 に答える