条件付きでrequires
にネームスペースを追加する必要があります。Sencha - 条件付きネームスペースを追加する必要があります
以下の例では、特定の条件に 'views.popupgrid'名前空間を追加します。現在は常にロードされています。
requires: ['Ext.window.MessageBox','views.popupgrid','user.MyUser' ]
条件付きでrequires
にネームスペースを追加する必要があります。Sencha - 条件付きネームスペースを追加する必要があります
以下の例では、特定の条件に 'views.popupgrid'名前空間を追加します。現在は常にロードされています。
requires: ['Ext.window.MessageBox','views.popupgrid','user.MyUser' ]
条件付き依存関係は、Senchaツールチェーンではサポートされていません。あなたはあなたの選択
requires:[
(location.hash=='#test')?'testpopup':'normalpopup'
]
のテキストエディタで書くことができるようになると、これはコンパイルされていないバージョンでは動作しますが、煎茶cmdが正しくそれをコンパイルすることはできません、エラーをスローします。
したがって、Sencha Architectはこの構文をサポートしていません。
標準に準拠した状態で、できることはExt.Loader.loadScript
です。このように:
Ext.define('MyForm',{
extend: 'Ext.form.Panel'
initComponent:function() {
var me = this;
me.callParent(arguments);
if(x==3) Ext.Loader.loadScript({
url:'MyCustomFormComponent.js',
onLoad:function(){
me.add({
xtype:'mycustomformcomponent'
});
})
});
}
})
依存性がツールチェーンでは解決できないので、この場合には、必ず、縮小さapp.js
と一緒MyCustomFormComponent.js
を提供する必要がありますのでご了承ください。また、接続によっては、リソースがロードされてコンポーネントがフォームに追加される前に目に見える遅延が発生することがあります。
特に、アプリを単一の縮小されたjavascriptファイル(たとえばSencha Cmdを使用)として配信する場合は、常に依存関係を読み込む方が高速でスムーズです。
ベストソリューションはこのソリューションを考えたことはありません。 –