2017-12-19 9 views
1

まず最初に、それを強調するために:私は煎茶を使用しています近代。ページがロードされると、今、私はボタンを見ることができますSenchaの最新のアプリケーションviewcontrollerが呼び出されていませんか?

Ext.define('myApplication.view.main.OrderController', { 
    extend: 'Ext.app.ViewController', 

    alias: 'controller.order', 

    onClick: function() { 
     debugger; 
     alert('onClick'); 
    } 
}); 

:対応するコントローラで

Ext.define('myApplication.view.main.OrderView', { 
    extend: 'Ext.Container', 
    xtype: 'ordercontainer', 
    controller: 'order', 

    requires: [ 
     'Ext.MessageBox', 
     'Ext.layout.Fit' 
    ], 

    viewModel: 'main', 

    defaults: { 
     tab: { 
      iconAlign: 'top' 
     }, 
     flex: 1 
    }, 

    layout: 'vbox', 

    items: [ 
     { 
      xtype: 'button', 
      text: 'test, to be updated', 
      height: 30, 
      flex: 0, 
      listeners: { 
       click: 'onClick' 
      } 
     }, 
    ] 
}); 


は、まあ次のビューを検討してください。私はonClick関数が(guideとして)呼び出されると期待しています。しかし、そうではありません。私は警告も表示されませんし、(開発コンソールがクロームで開いている場合も)onClick関数でデバッガが停止します。

handleを使用するようにボタンを変更し、コードビハインドを使用すると機能します。しかし、ビューコントローラは動作しません。これは間違いないでしょうか?または、私はもう一度古典的なガイドを使うという罠に陥ったのだろうか?

答えて

0

現代componentsがイベントclickしかしtap

だから、このようにコードを変更する必要はありませんので、それはです:

items: [ 
    { 
     xtype: 'button', 
     text: 'test, to be updated', 
     height: 30, 
     flex: 0, 
     listeners: { 
      tap: 'onClick' 
     } 
    }, 
] 
関連する問題