Extjs 5.1.1中Ext.i18n.Bundle中的命名空间无效

时间:2016-10-17 09:10:52

标签: extjs localization namespaces store

使用ExtJS 5.1时,我总是收到此错误:

Uncaught Error: [Ext.ClassManager] Invalid namespace, must be a string  @ext-all-debug.js:8430 
parseNamespace         @ ext-all-debug.js:8430
createNamespaces       @ ext-all-debug.js:8490
(anonymous function)   @ ext-all-debug.js:4450
onBeforeLaunch         @ Bundle.js?_.dc=1476694441934:227
onProfilesReady        @ ext-all-debug.js:54622
constructor            @ ext-all-debug.js:54616
AppTest.$application   @ ext-all-debug.js:7660
(anonymous function)   @ ext-all-debug.js:54856
invoke                 @ ext-all-debug.js:10477
doInvokeAll            @ ext-all-debug.js:10517
invokeAll              @ ext-all-debug.js:10486
unblock                @ ext-all-debug.js:10596
triggerReady           @ ext-all-debug.js:11090
checkReady             @ ext-all-debug.js:11194
load                   @ ext-all-debug.js:10969
require                @ ext-all-debug.js:10882
triggerReady           @ ext-all-debug.js:11065
checkReady             @ ext-all-debug.js:11194
onLoadSuccess          @ ext-all-debug.js:11011
notify                 @ ext-all-debug.js:862
processLoadedEntries   @ ext-all-debug.js:841
notifyRequests         @ ext-all-debug.js:1308
complete               @ ext-all-debug.js:1157
(anonymous function)   @ ext-all-debug.js:1163

1 个答案:

答案 0 :(得分:0)

好吧,如果你看一下堆栈跟踪,你会发现问题似乎出现在Bundle.js第227行,因为这是跟踪中提到的第一个非sencha行:

ns = Ext.namespace(me.name);

如果您尝试

console.log(me.name);

你会发现它是undefined,因为从5.0.0开始,Sencha已经越来越多地转向gettersetter方法,所以你最好的选择是

console.log(me.getName());