2013-08-13 5 views
1

나는 컨트롤러를 사용하여 특정 컨트롤에 이벤트를 첨부하지만 Sencha Architect를 사용하여이를 나타 내기 위해 고심하고 있습니다.Sencha Architect 2를 사용하여 컨트롤러 구성하기

"로그인 버튼 로그인"버튼이 있습니다. 내 컨트롤러에서

, 나는 코드가있는 경우 :

config: { 
    control: { 
     "button": { 
      tap: 'onButtonTap' 
     } 
    } 
}, 

onButtonTap: function(button, e, eOpts) { 
    Ext.Msg.alert("onButtonTap fired"); 
}, 

다음은 버튼 작동 예상대로입니다. 이것은 괜찮지 만 분명히 모든 버튼에 적용됩니다. 나는 참조 "로그인 - 버튼 - 로그인"을 위해 (! 이름의 나의 선택) 추가 :

config: { 
    refs: { 
     loginButtonTap: 'Login-Button-Login' 
    }, 

    control: { 
     "button": { 
      tap: 'onButtonTap' 
     }, 
     "Login-Button-Login": { 
      tap: 'onButtonTap2' 
     } 
    } 
}, 

을하지만 어떻게 지금은 제어 대상의 항목으로 참조 "loginButtonTap"를 사용할 수 있습니까? Sencha Architect 컨트롤을 사용하려고하면 "Login-Button-Login"이 직접 참조됩니다.

관련하여 어떻게이 컨트롤러를 단추가있는 "로그인"보기에 연결할 수 있습니까? 확실히 각 참조에 대해 전체 선택자를 사용할 필요가 없습니다. 분명히이 작업을 수행 할 수 있다고해도, 현재 로그인 - 단추 - 로그인이 "로그인"보기를 참조해야하므로이 기능이 작동하지 않습니다.

+0

더 명확하게 설명하면 – Viswa

+0

@Viswa 부분이 명확하지 않습니다. 가능한 한 분명히 모든 것을 놓았습니다. –

+0

Login-Button-Login은 id 또는 ItemId 또는 액션입니까? .. 당신이 의미하는 바는 "어떻게 컨트롤 객체의 항목으로 loginButtonTap"참조를 사용할 수 있습니까? 컨트롤러에서 버튼 객체를 가져 오시겠습니까? – Viswa

답변

1

그냥 사용 id (또는 itemId) 이벤트 핸들러 설정에서 controlQuery의 값으로 제어 :

config: { 
    control: { 
     "#btnWhatever": { 
      tap: 'onWhateverTap' 
     }, 
} 

내가 너무 게으른 오전부터 내가 요소에 이벤트를 부착의이 방법을 사용하는 것을 선호 이중 작업을 수행하려면 - 단추에 대한 참조를 지정하고 이벤트 처리기에서 해당 참조를 지정하십시오. controlQuery. onWhateverTap은 단추에 대한 참조를 인수로 가져오고 대부분의 경우 다른 곳에서는 해당 참조가 필요하지 않습니다.

+0

답변을 주셔서 감사합니다. 그렇다면 심판을 사용하는 것이 왜 좋습니다? –

+0

여기에 대한 내용은 다음에서 볼 수 있습니다. http://docs.sencha.com/touch/2.2.1/#!/guide/controllers 자동 생성 된 getter와 몇 가지 추가 기능 (예 : autoCreate '. – pckill