2012-02-18 38 views
5

對於ExtJS和javascript框架,我絕對是全新的,這是一個簡單的問題,但我似乎無法找到一個示例。將初始參數傳遞給ExtJS 4應用程序

我試圖找出如何我應該簡單地從託管HTML頁面傳遞初始參數一個ExtJS 4的應用 - 什麼是ExtJS的4等同於應用程序的託管HTML網頁這很謙虛線:

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

我看到的一切re:在線示例在啓動時不會將參數初始傳遞給應用程序。這只是不正確的想法或什麼..?

回答

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> 

然後我直接在需要的地方使用它們。

//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); 
      } 
     }); 

也許這是一個好主意,所有這些變量收集到一個全局對象,如:

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

所以你必須一個入口點到全局數據。

這只是我這樣做的方式,很高興聽到別人怎麼做。

0

您可以使用應用程序/ Configuration.js,其中u定義所有的變量,網址爲全球訪問的單配置文件:

Ext.define('myApp.Configuration', { 
     singleton : true, 
     urls : { actionURL : /d.php, bgotUrl :abcd.php } 
}); 

你現在需要要求的application.js文件這個文件 要求:[「myApp.Configuration」]加載它提前使用其他文件,如:

myApp.Configuration.urls.actionURL

所以,我想爲您的應用範圍的設置非常乾淨的解決方案。 乾杯!

相關問題