2015-03-27 3 views
0

У меня трудная отладка и понимание того, почему в моем проекте sencha происходит неправильное использование самого элементарного материала. Я использую webstorm, но он, похоже, не очень помогает мне с кодом пропуска. Большинство ошибок, которые я получаю, неясны, как undefined, не являются функцией. Может ли кто-нибудь помочь мне, показывая мне, что я делаю неправильно в следующем коде. Я просто хочу кнопку, которая делает консольный журнал.Sencha Touch Создание простой работы с кнопками

Вид:

Ext.define('imp.view.Test', { 
     extend: 'Ext.form.Panel', 
     alias: "widget.test", 
     xtype: 'test', 
     controllers: 'imp.controller.Test', 
     requires: [ 'imp.controller.Test'], 

     config: { 
      title:'Test', 
      scrollable: null, 
      items: [ 

       { 
        xtype: 'button', 
        itemId: 'postButton', 
        ui: 'action', 
        padding: '10px', 
        text: 'Post' 
       }] 


     } 

}); 

Контроллер:

Ext.define('imp.controller.Test', { 
    extend: 'Ext.app.Controller', 
    config: { 
     refs: { 
      testView: 'test' 
     }, 
     control: { 
      'test #postButton': { 
       tap: 'onPostCommand' 
      } 
     } 
    }, 

     onPostCommand: function(){ 
      console.log('klik'); 


     } 

    } 
); 

Что такое хороший способ отладки и научиться Сенча сенсорный лучше, кто-то может дать мне несколько советов? Какие книги, сайты и т. Д. Хороши?

Update: Это выход журнала консоли и когда я нажимаю butotn просто ничего не происходит .....

development.js:21 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/. 
development.js:22 XHR finished loading: GET "http://imp.localhost/imp/bootstrap.json". 
development.js:9 GET http://imp.localhost/imp/cordova.js 
sencha-touch.js:13036 The key "minimum-ui" is not recognized and ignored. 
Abstract.js?_dc=1427878432368:27 The 'overflowchanged' event is deprecated and may be removed. Please do not use it. 
Console.js?_dc=1427878432463:35 [WARN][Anonymous] [Ext.Loader] Synchronously loading 'imp.store.Offline.Opdrachten'; consider adding 'imp.store.Offline.Opdrachten' explicitly as a require of the corresponding class 
sencha-touch.js:8381 XHR finished loading: GET "http://imp.localhost/imp/app/store/Offline/Opdrachten.js?_dc=1427878433743". 
sencha-touch.js:8381 XHR finished loading: GET "http://imp.localhost/touch/src/data/ArrayStore.js?_dc=1427878433755". 
sencha-touch.js:8381 XHR finished loading: GET "http://imp.localhost/touch/src/data/reader/Array.js?_dc=1427878433767". 
Console.js?_dc=1427878432463:35 [WARN][Anonymous] [Ext.Loader] Synchronously loading 'imp.store.Offline.Antwoorden'; consider adding 'imp.store.Offline.Antwoorden' explicitly as a require of the corresponding class 
sencha-touch.js:8381 XHR finished loading: GET "http://imp.localhost/imp/app/store/Offline/Antwoorden.js?_dc=1427878433786". 
Connection.js?_dc=1427878433330:375 GET https://simplemanager.transfer-solutions.com/ords/simplemanager/test1/planningen 401 (Unauthorized) 
Connection.js?_dc=1427878433330:375 XHR finished loading: GET "https://simplemanager.transfer-solutions.com/ords/simplemanager/test1/planningen". 
+0

Какие ошибки вы получаете в окне консоли браузера? Обычно это лучший способ отладки проблем JS, поскольку большинство из них будут возникать только при определенных условиях или в ответ на конкретное событие. – Scriptable

+0

Ошибок нет. Это просто не работает .... – Robert

+0

Я знаком с Javascript-отладкой, однако Sencha, похоже, отличается от своих собственных проблем ... – Robert

ответ

1

Лучший способ узнать, если есть что-то не так с вашим кодом используется Firebug в Firefox или инструменты для разработчиков в Chrome.

Ссылаясь на вашу проблему, я просто удалил код util.Utility из кода, и он отлично работает. Поэтому вы хотите убедиться, что есть Utility.js в папке app/util. Кроме того, Utility.js должны следовать Сенча классовой структуры:

Ext.define('.util.Utility', { /*upper case "U" in important*/ 
     config : { 
     } 
}); 

В конце концов, вы должны увидеть либо klik или ошибка в выводе на консоль.

+0

Я сделал именно это, но это ничего не помогает. Я не понимаю, почему он работает с вами, а не со мной. Не могли бы вы показать мне свою скрипку? У меня действительно есть Utility.js в этой папке ... – Robert

+0

@Robert Мой код идентичен вашему. Я просто удаляю декларацию 'Utility.js'. Я думаю, вы должны взглянуть на вывод консоли на возможные ошибки, и если вы можете скопировать вывод здесь для дальнейшего изучения. Я также обновляю ответ. – Amin

+0

Я удалил утилиту и добавил вывод консоли в сообщение. – Robert

Смежные вопросы