2012-02-18 5 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, где и определить все переменные, URL для доступа к глобальному:

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

теперь нужно требовать этого файла в файле application.js как требует: [ «myApp.Configuration»], чтобы загрузить его в заранее для использования в других файлах, такой как:

myApp.Configuration.urls.actionURL

Таким образом, я думаю, очень чистое решение для ваших широких настроек приложения. Приветствия!

Смежные вопросы