마리오 넷 앱 (2.4.4)이 있습니다.마리오 네트의 여러 앱 레이아웃
현재 최상위 수준의 영역 (헤더, 탐색, 콘텐츠 등)이 많이 포함되어 있습니다.
이제 이러한 영역을 사용하지 않는 페이지를 추가해야합니다. 특정 페이지가 표시 될 때를 확인하고 영역을 숨기거나 표시 할 수있는 이벤트 부하를 연결할 수 있지만 여러 응용 프로그램 레이아웃을 정의하는 간단한 방법이 있는지 궁금해서 루트를로드 할 레이아웃을 정의해야합니까?
그래서 레이아웃 A에는 헤더, nav, 컨텐츠 및 레이아웃 B가 헤더와 내용 만 갖게됩니다.
일부 경로는 A를 사용하고 일부 경로는 B를 사용합니까?
아하 .. 지금은 하위 모듈의 컨트롤러가보기를 표시하려고 할 때 App.main.show (View)를 호출하고 주 콘텐츠 영역 인 main이 호출됩니다. 그래서 우리가 최상위 레벨의 LayoutViews를 가지고 있다면 그것들을 인스턴스화 한 다음 컨트롤러에서 사용할 수있게 만들까요? 그리고 나서 컨트롤러는 어떻게 든 레이아웃 중 하나를 보여 주며 그 내부에 메인 뷰를 표시합니다. 내 우려는 각 하위 모듈이 최상위 레이아웃을 다시로드하는 경우 레이아웃 중 하나에서 탐색 항목의 상태를 다시 렌더링하거나 잃어 버리는 것입니다. –
뷰에서 외부에 상태를 저장하여 다시 작성할 수 있도록 제안합니다. . 그러나 그것은 기본적으로'App.main.show (new MainLayout ({state : storedState})); '일 것입니다.보다 적은 옵션은 메인 영역의 레이아웃을 그대로 유지하는'preventDestroy' 일 것입니다. 그러나 그것은 이상적이지는 않습니다. . 이 시나리오에서는'main'이 Application의 유일한 영역 일 것이고 다른 영역도 그 부분이 될 것입니다. –