javascript - Yeni sekmede rota bileşenini görüntüle ve orijinal sayfa bileşenini gizle [Angular 2]
HTML şablonunda routerLink bağlantıları içeren bir bileşen görüntülüyorum. Kullanıcı bunlara tıkladığında, bu routerLink bağlantılarına karşılık gelen bileşenleri yeni bir sekmede açmak ve yalnızca o bileşenleri görüntülemek istiyorum (yeni sekmede routerLink bağlantılarını içeren bileşeni görüntülemek istemiyorum).
Şimdiye kadar denediklerim şunlar:
İşte HTML Şablonunda routerLink bağlantılarına sahip bileşeni içeren bileşen (Buna container.component.html diyelim):
<div>
<h1>{{title}}</h1>
<comp></comp>
</div>
<router-outlet></router-outlet>
İşte comp bileşeninin şablonu:
<div>
<div>{{compName}}</div>
<ul>
<li>
<a [routerLink]="['/comp-info/comp-info-child/:compName', {compName: compName}]" target="_blank">info child</a>
</li>
<li>
<a [routerLink]="['/comp-info/comp-history']" target="_blank">comp history</a>
</li>
</ul>
</div>
İşte uygulamanın rotalarını tanımlayan app.routes.ts dosyam:
/*
Necessary imports here
*/
export const routes: RouterConfig = [
{
path: '',
component: EmptyComponent,
},
{
path: 'comp-info',
component: CompInfoComponent,
children: [
{ path: 'comp-info-child/:compName', component: CompInfoChildComponent },
{ path: 'comp-history', component: CompHistoryComponent }
]
}
];
export const APP_ROUTER_PROVIDERS = [
provideRouter(routes)
];
ve işte comp-info.component.html dosyası:
<router-outlet></router-outlet>
RouterLink'leri kullanarak bileşenler arasında gezinmeyi başarıyorum ama comp bileşeni hâlâ görüntüleniyor, sanki comp-info.component.html görünümü yerine container.component.html görünümünü gösteriyorum gibi görünüyor.