2012-02-18 70 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

所以,我想为您的应用范围的设置非常干净的解决方案。 干杯!

相关问题