2014-09-12 2 views
1

SAPUI5를 처음 사용합니다.SAPUI5의 다른 컨텍스트 얻기

보기가 '보기'와 '테이블보기'인보기가 & 인 두 개의 구성 요소/폴더가 있습니다. 'tableview'에서 'view'컨텍스트를 얻을 수 있습니까?

+0

당신은보기 문맥에 의해 무엇을 의미합니까 아니면 MVC 세계에서보기 컨트롤러를 의미합니까)? 그것은 이벤트 또는 메시지 버스로 정말 바위 이럴 알려진 패턴을 구현? – Allen

+0

'view'폴더에 여러 개의 views.xml 및 controller.js 파일이 있습니다. 같은 방식으로 여러 views.xml & controller.js 'tableview'라는 폴더에 있습니다. 이제 'view'폴더에있는 뷰 (상위)에 'tableview'폴더의 뷰 (하위)를로드하고 있습니다. 나는 자녀가 부모의 맥락에 접근 할 수있는 방법이 있는지 궁금합니다. –

답변

5

제대로 알았 으면 하위 컨트롤러에서 상위 컨트롤러에 액세스하려고합니다. - 권장하지 않음)

  1. 가장 간단한 방법은 당신이 필요로하는 컨트롤러에 대한 참조를 제공하기 위해 전역 변수를 사용하는 것은, 여기 멍청한 놈에서 전문가에 주문 몇 가지 제안입니다.

  2. 부모가 ID를 확인하고이 같은 컨트롤러에 메소드를 호출 보내기...

    sap.ui.getCore() byId ("parentViewId") getController() 메소드를();

  3. 직접이 같은 컨트롤러 메서드를 호출 할 수 있습니다

    sap.ui.controller ("namespace.Controllername을"() 메소드).

  4. sap.ui.core.EventBus을 사용하여 컨트롤러 (또는 일반적으로 응용 프로그램 구성 요소) 간의 통신을 더 분리하는 것이 좋습니다.

는 GL 크리스

+0

크리스. sap.ui.controller ("namespace.Controllername")를 사용하여 parentview의 메서드를 호출 할 수있었습니다. method(); ..... 하위 컨트롤러에서 상위 컨트롤러의 컨텍스트 또는 'this'개체에 액세스 할 수 있습니까? –

+1

sap.ui.controller ("namespace.Controllername")는 부모 컨트롤러 컨텍스트라고 부르는 것을 제공합니다. 당신이 원한다면 그것으로부터 속성을 얻을 수도 있습니다. 아직도 실종 됐어? – cschuff

+0

아니요. @cschuff 공유 주셔서 감사합니다. –