我已經完全重寫了我的問題,希望能更好地反映我在這裏要做的事情。非常感謝你們迄今爲止的幫助。Sencha範圍問題
我有一個名爲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是煎茶麪板的延伸使用Ext.extend的類。
'en.js'腳本正確添加到標題中。我沒有它在index.html文件中,因爲一旦解決了這個問題,就會有幾個文件可以加載,這取決於函數的輸出。這就是爲什麼我需要將腳本添加到onReady函數的標題中,而不是在index.html文件本身中。
一旦腳本已經添加加載「變量:‘巨大的成功’」到Ext.locale, 但我的問題在於目前內login.Panel(),這是一個使用分機的煎茶麪板類的一個擴展。延伸。 目前,面板上有一個按鈕。
當我把這個按鈕的處理程序:
console.log(Ext.locale.variable)
它返回字符串「巨大的成功」,
然而,當我嘗試設置按鈕的文字是這樣的:
text:Ext.locale.variable,
我得到錯誤
Uncaught TypeError: Cannot read property 'variable' of undefined
我猜我有一個範圍問題在這裏,因爲console.log()和alert()都可以訪問Ext.locale,但試圖用它來構造窗體給我未定義的錯誤。
任何幫助將不勝感激。
謝謝!
[Ext.apply](http://dev.sencha.com/deploy/touch/docs/source/Ext.html#方法-Ext-apply)是將所有屬性從一個javascript對象(第二個參數)複製到另一個javascript對象(第一個參數)的方法。我不確定你在這裏試圖用它做什麼,而你的代碼示例寫入不正確,除了覆蓋該函數之外,根本無法執行任何操作。 –
哈,我是盲人。對不起,我沒有注意到「=」出於某種原因。編輯我的主要職位。 – methusalem