我绝对是ExtJS和javascript框架的新手,这是一个死的简单问题,但我似乎无法找到一个例子.
我试图找出我应该如何简单地将主机html页面中的初始参数传递给ExtJS 4应用程序 - 在应用程序的托管html页面中,ExtJS 4相当于这个非常简陋的行:
var myapp = new MyApp({param1:'value1', param2:'value2'});
Run Code Online (Sandbox Code Playgroud)
我看到的一切:在线示例在启动时不会将参数最初传递给应用程序.这不是正确的想法或什么......?
我通常在页面上创建全局变量,然后在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>
Run Code Online (Sandbox Code Playgroud)
然后我直接在需要的地方使用它们。
//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);
}
});
Run Code Online (Sandbox Code Playgroud)
也许将所有这些变量收集到一个全局对象中是一个好主意,例如:
var globalVariables = {};
globalVariables.someVariable = 2;
Run Code Online (Sandbox Code Playgroud)
因此,您将拥有全局数据的一个入口点。
这就是我这样做的方式,很高兴听到其他人是如何做的。