#extjs #localization #namespaces #store
#extjs #локализация #пространства имен #Магазин
Вопрос:
При использовании 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:
Что ж, если вы посмотрите на трассировку стека, вы увидите, что проблема, похоже, в Bundle.js , строка 227, потому что это первая строка, не относящаяся к сенча, упомянутая в трассировке:
ns = Ext.namespace(me.name);
Если вы попытаетесь
console.log(me.name);
вы обнаружите, что это так undefined
, потому что, начиная с версии 5.0.0, Sencha все больше и больше продвигается getter
setter
к методам и, поэтому лучше всего
console.log(me.getName());
Комментарии:
1. Это на самом деле было проблемой.. А также включение this.initConfig() также помогло загрузить все конфигурации в конструктор.