2012-02-18 9 views
5

私はExtJSとjavascriptフレームワークの全く新しいものですが、これは死んだ単純な質問ですが、例を見つけることができません。ExtJS 4アプリケーションへの初期パラメータの受け渡し

私は単純にExtJSの4アプリケーションにホスティングhtmlページからの最初の引数を渡す必要があります方法を見つけるためにしようとしています - アプリのホスティングHTMLページ内のこの非常に謙虚なラインのExtJSの4同等のものです:

var myapp = new MyApp({param1:'value1', param2:'value2'}); 

私が見ているものすべて:オンラインでは、起動時に最初にアプリケーションに引数を渡しません。それはちょうど正しい考えか何かではないのですか?

答えて

0

私は通常、ページ上にグローバル変数を作成し、jsで使用します。以下のような 何か:私は必要な場所

//mypage.html 

<script type="text/javascript"> 
     var loadScansUrl = "<%=Url.Action<ReportScannerRunController>(controller => controller.LoadScans())%>"; 
     var loadInstancesUrl = "<%=Url.Action<ReportScannerRunController>(controller => controller.LoadInstances(-1))%>"; 
</script> 

は、その後、私はそれらを直接使用しています。だから、あなたはあなたのグローバルデータへの1つのエントリポイントがあるでしょう

var globalVariables = {}; 
globalVariables.someVariable = 2; 

//myfile.js 

Ext.Ajax.request({ 
      url: loadInstancesUrl, // here is the usage!!! 
      headers: { 
       'Content-Type': 'application/json' 
      }, 
      params: this.scanId, 
      scope: this, 
      success: function (response) { 
       var result = Ext.decode(response.responseText); 
       var comboData = []; 
       Ext.each(result.Instances, function (instance) { 
        comboData.push({ Value: instance }); 
       }); 
       instances.store.loadData(comboData); 
      } 
     }); 

は、おそらくそれは次のように、一つのグローバルオブジェクトにこのすべての変数を収集することをお勧めします。

これは私がこれを行う方法です

0

あなたはuはグローバルアクセスのためにすべての変数、URLを定義アプリ/ Configuration.js、中シングルトンコンフィギュレーションファイルを使用することができます。

Ext.define('myApp.Configuration', { 
     singleton : true, 
     urls : { actionURL : /d.php, bgotUrl :abcd.php } 
}); 
今Application.jsファイルで、このファイルとしてを要求する必要があります

が必要です:[「myApp.Configuration」]のような他のファイルで使用するため、事前にそれをロードするために:だから

myApp.Configuration.urls.actionURL

、私はあなたのアプリケーション全体の設定のための非常にクリーンなソリューションを推測します。 乾杯!

関連する問題