0

합금보기 (props.xml)와 합금보기 (양식이 포함 된보기 포함) prequal.xml을 가지고 있으며 각보기에는 자체 제어기가 있습니다. 테이블 데이터가 props.xml에로드 된 후 prequal 양식이 나타납니다.다른 컨트롤러에있는 하위보기의 부모보기를 닫는 방법

모달 창으로 사용하려면 프리퀄 형식이 필요했고 안드로이드와 iOS가이를 다르게 처리했기 때문에 안드로이드 용 AlertDialog와 iOS 용 모달 창에 프리퀄 뷰를 넣어야했습니다. 그래서 prequal 양식은 androidView 속성을 통해 $.UI.create('AlertDialog', {properties});에 Android AlertDialog에 추가되고 iOS 창에 단순히 창 add(view) 기능에 추가됩니다.

그러나 AlertDialog 및 Window는 props.js에 정의되어 있으며 양식을 제출 한 후 prequal.js에서 해당 창을 닫을 수 있어야합니다. 해당 컨테이너 모달보기와 관련된 ID를 사용하여 닫으려고했지만 양식이 포함 된 실제보기뿐만 아니라 해당보기를 포함하는 상위보기도 닫힙니다.

부모보기가 자식보기가 정의 된 제어기와 별도의 제어기에 정의되어있을 때 어떻게 그 자식의 부모보기를 닫을 수 있습니까? 당신이 콜백 함수를 통해 새로운 컨트롤러 패스를 열 winA

+1

closeA() 기능을 트리거 할 질문을 이해하지만 함수를 한 뷰에서 다른 뷰로 매개 변수로 전달하고 다른 "컨트롤러"에서 함수를 호출 할 수 있습니다. – miga

+0

미안하지만 관련성이있는 경우를 대비하여 많은 배경 정보를 제공했습니다. 물론 대부분은 무시할 만하다. 기본적으로 상위 컨테이너보기는 props.js에 있고 하위보기는 prequal.js에 있습니다. prequal.js에서 상위보기의 닫기 또는 숨기기 기능을 호출 할 수 있어야합니다. – Rampancy

답변

1

내부 :

function closeA(){ 
    $.winA.close(); 
} 

Alloy.createController("winB", { 
    closeA: closeA 
} 

winB에서 지금 $.args.closeA()를 호출 할 수 있습니다 완전히 내가하면 잘 모르겠어요 컨트롤러 winA

+0

대단히 감사합니다! 내 애플 리케이션에서 잘 작동합니다. – Rampancy