2012-07-02 2 views
1

У меня есть вид User.js, и у меня есть кнопка.Событие нажатия кнопки не срабатывает от контроллера - новичок

... 
buttons: [{ 
    text: 'Reset', 
    id:'button' 
} 
... 

Теперь у меня есть мой контроллер с именем User.js, и мне нужно, чтобы отобразить console.log сообщение, когда пользователь нажимает на кнопку. Сообщение консоли должно быть напечатано с контроллера. Мой код контроллера выглядит следующим образом.

Ext.define('Tangle.controller.User', { 
    extend: 'Ext.app.Controller', 

    init: function() { 
     console.log('works '); 
     this.control({ 
      'button': { 
       click: this.refresbut 
      } 
     }); 
    }, 

    refreshbut: function() { 
     console.log('button clicked '); 
    } 
}); 

В соответствии с этим ничего не происходит, консольное сообщение не печатается. Может кто-нибудь заглянуть в это, пожалуйста?

КОД

Ext.define('Tangle.view.user.User' ,{ 
    extend: 'Ext.form.Panel', 

    items: [{ 
     xtype: 'textfield', 
     fieldLabel: 'Name', 
     name: 'name' 
    }], 

    buttons: [{ 
     text: 'Submit', 
     id:'button', 
     name:'button' 
    }] 
}); 
+0

Ваше представление окаменения хорошо Было бы полезно, если бы вы включили представление в качестве конфигурации для контроллера. Кроме того, вы подключаете все системные кнопки к вашему коду (поскольку контроллеры являются системно-глобальными), знаете ли вы об этом? – Izhaki

+0

Мой взгляд хорошо. Я новичок в EXJ JS 4, не могли бы вы показать мне пример? Так что я мог хорошо это понимать. – Illep

+0

Вы видели [docs] (http://docs.sencha.com/ext-js/4-1/#!/guide/application_architecture)? – Izhaki

ответ

2

Как обсуждалось в комментариях. Вы забыли включить контроллер в свое приложение.