Я полностью переписал свой вопрос, чтобы, надеюсь, лучше отразить то, что я пытаюсь сделать здесь. Ребята, большое спасибо за вашу помощь.
У меня есть файл en.js, который содержит этот код:
Ext.apply(Ext.locale || {}, {
variable: 'great success!'
});
Вот мой установочный код index.js:
Ext.setup({
tabletStartupScreen: 'tablet_startup.png',
phoneStartupScreen: 'phone_startup.png',
icon: 'icon.png',
glossOnIcon: false,
onReady: function() {
Ext.locale = {};
var headID = document.getElementsByTagName("head")[0],
newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'en.js';
headID.appendChild(newScript);
loginPanel = new login.Panel();
}
});
login.Panel - это расширение класса панели Sencha с использованием Ext.extend.
Скрипт en.js добавлен в заголовок правильно. У меня его нет в файле index.html, потому что, как только эта проблема будет решена, будет загружено несколько файлов, в зависимости от вывода функции. Вот почему мне нужно добавить скрипт в заголовок в функции onReady, а не в сам файл index.html.
Как только скрипт добавлен, он загружает "variable: 'great success'" в Ext.locale,
Тем не менее, моя проблема в настоящее время заключается в login.Panel (), который является расширением класса панели Sencha с использованием Ext.extend.
В данный момент на панели есть кнопка.
Когда я помещаю это в обработчик кнопки:
console.log(Ext.locale.variable)
возвращает строку «большой успех»,
пока я пытаюсь установить текст кнопки следующим образом:
text:Ext.locale.variable,
Я получаю ошибку
Uncaught TypeError: Cannot read property 'variable' of undefined
Я предполагаю, что у меня есть проблема с областью видимости, так как console.log () и alert () могут одновременно обращаться к Ext.locale, но попытка использовать его для построения формы дает мне неопределенную ошибку.
Любая помощь будет принята с благодарностью.
Спасибо!