2017-12-19 32 views
1

우선 스트레스를 받겠습니다. 저는 첨단을 사용하고 있습니다 현대입니다. 해당 컨트롤러와Sencha 최신 응용 프로그램보기 컨트롤러가 호출되지 않았습니다?

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' 
      } 
     }, 
    ] 
}); 

: 페이지가로드 될 때

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

    alias: 'controller.order', 

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

가 지금은 버튼을 볼 수
그럼 다음 뷰를 고려하십시오. 나는 onClick 함수가 (guide에 따라) 호출 될 것으로 기대한다. 그러나 그렇지 않습니다. 어떤 경고도 표시되지 않으며 개발 콘솔이 chrome에서 열리지도 않습니다. onClick 함수에서 디버거가 중지됩니다.

단추를 변경하여 handle을 사용하고 코드 숨김을 사용하면 작동합니다. 그러나보기 컨트롤러가 작동하지 않습니다. 이게 바로 실패하지 않아야합니까? 아니면 다시 클래식을위한 가이드를 사용하는 함정에 빠졌습니까?

답변

0

현대components 이벤트 click하지만 tap

그래서 다음과 같이 코드를 변경하지 않기 때문입니다 :

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