은 내가 콘텐츠 영역으로 그 두 번째 sidenav를 사용하려면이각도 재료 SideNav 컨텐츠 전략
<mat-sidenav-container>
<mat-toolbar></mat-toolbar>
<router-outlet></router-outlet>
<mat-sidenav></mat-sidenav>
<mat-sidenav position="end"></mat-sidenav>
</mat-sidenav-container>
의 라인을 따라 표준 sidenav 레이아웃을 가지고있다.
이 프로젝트에서 모든 활성 경로는 단순히 캔버스 영역이있는 구성 요소 및 "실험"에 대한 몇 가지 기본 정보입니다. 아마도 기본적인 형태의 슬라이더 나 컨트롤 일 것입니다.
<div>
Some Content
<div>
<canvas>
</canvas>
기본적으로 콘텐츠 div가 두 번째 sidenav 컨테이너에 들어가기를 원합니다. Canvas 만 실제 구성 요소의 자식입니다.
<mat-sidenav-container>
<mat-toolbar></mat-toolbar>
<router-outlet>
<canvas-component>
<canvas></canvas>
</canvas-component>
</router-outlet>
<mat-sidenav></mat-sidenav>
<mat-sidenav position="end">
<div>
Some Content
<div>
</mat-sidenav>
</mat-sidenav-container>
이것은 미친 듯하다. 나는이 방법으로 부모 구조에 의존해야한다고 생각하지 않는다. 알 겠어. 구성 요소가 sidenav를 추가하는 것이 반대의 경우는 훨씬 좋지만 sidenav는 sidenav 컨테이너에 속해야하므로이 구성 요소의 경계를 벗어납니다.
그래서 최상의 전략은 무엇입니까? 나는 주위에 내 머리를 얻을 수 없습니다. 2 개의 외부 콘센트가 필요하고 서로 공유 할 수 있도록 공유 서비스가 필요한 2 가지 구성 요소로 보시겠습니까? 더 좋은 방법이 있습니까?
내 질문이 업데이트되었습니다. 제 캔버스 구성 요소를 두 개의 구성 요소로 나눠 주시겠습니까? 'canvas-component'와'canvas-component-info'가 있습니다. 그런 다음 2 개의 라우터 콘센트가 필요합니까? 하나는 페이지의 주요 영역을위한 것이고 다른 하나는 sidenav를위한 것입니까? 그런 다음 서로 이야기 할 수있는 서비스가 필요합니까? – Clark
1) 캔버스 구성 요소를 분할해야하는지 잘 모르겠습니다. 2) 템플릿에 2 개의 다른 콘센트가 필요하다면 [aux 라우팅] (https://stackoverflow.com/a/34642273/3612903)을 사용하고 메인 컨텐츠 영역 (홈페이지)이 정적 인 경우 그것을 표시하는 경로가 필요하지 않습니다 단순히 템플릿에 "집"구성 요소를 사용하여 "캔버스"sidenav에있는 "콘센트"를 유지. 생각해 보면, 예제에서 ''안에 2 개의 ''요소가 남아 있습니다. 각각은 그것 자체의' '래퍼를 가져야한다. 내가 아는 한 sidenavs는 중첩되지 않아야합니다. –
DotBot
감사 DotBot! 내가 집에 돌아와보고 할 때 나는 한 번 둘러 볼 것이다! 한 가지 분명한 것은 2 개의 사이드 바를 가질 수 있다는 것입니다. https://material.angular.io/components/sidenav/overview – Clark