2012-05-21 3 views
2

Я пытаюсь использовать инфраструктуру DeftJS в приложении Sencha Touch.Sencha Touch + DeftJS

Но у меня возникают проблемы, реализующие новую версию (0.6.5) , когда он переходит на следующие строки:

classDefinition = Ext.ClassManager.get(this.getClassName()); 

где

this.getClassName() outputs "TimeSheetApp.store.TotalActualStore" 

поэтому следующая строка

if (classDefinition.singleton) 

исключает это исключение:

Uncaught TypeError: Cannot read property 'singleton' of null 

Любая идея, что я делаю неправильно здесь?

ответ

2

Проблема в том, что указанный класс либо не был загружен, либо не существует.

Дважды проверьте, что имя класса вы указали точно правильно, и что он был загружен с помощью Ext.require() в основном файле JavaScript, прежде чем Ext.onReady() или через requires: аннотации на корневой Сенч сенсорного класса приложений.

Даже будучи автором системы Deft JS, я столкнулся с этой проблемой и на этой неделе. Ошибка, возникающая из v0.6.5, не особенно полезна. Я подал вопрос о GitHub захватывая эту проблему, так что вы можете отслеживать прогресс есть:

https://github.com/deftjs/DeftJS/issues/16

Мы будем добавлять лучшую обработку ошибок и уведомлений в v0.6.6.

В то же время, исправление имени или добавление недостающего требования класса должно заставить вас идти снова.

Благодарим за проверку Deft JS!

+0

Ext.require() был именно тем, что мне нужно. –