ここでやろうとしていることをうまく反映するために私の質問を完全に書き直しました。これまでのところあなたのご協力に感謝しています。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ファイル自体には追加する必要はありません。
スクリプトが追加されると、変数: 'great success'がExt.localeにロードされます。 現在、私の問題はlogin.Panel()内にあります。これはExtを使ったSenchaパネルクラスの拡張です。延長する。 現在、パネルにボタンがあります。
私は、ボタンのハンドラ内でこれを入れた場合:
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#のinstedないのはなぜメソッド - Ext-apply)は、あるjavascript Object(2番目の引数)のすべてのプロパティを別のjavascript Object(最初のparam)にコピーするメソッドです。ここで何をしようとしているのかわかりません。関数を上書きする以外に、何かを行うために正しく書かれていません。 –
ええ、私は盲目です。申し訳ありませんが、何らかの理由でそこに気付かなかったのです。私のメインポストを編集しました。 – methusalem