Cuando cambio el idioma en el sitio web, quiero mostrar u ocultar una pestaña, si el idioma es alemán, muéstrelo, si hay otro idioma, ocúltelo, mi código:
ngOnInit(): void { this.translate.onLangChange.subscribe({next: (event: { lang: string; }) =>{ if(event.lang && event.lang === 'de'){ this.tabsArray = this.tabsArray.filter((tab) => tab.label !== certainPathLabel ); } else{ const foundLabel = this.tabsArray.find((tab)=>tab.label == certainPathLabel ); if(!foundLabel) { this.tabsArray.splice(4,0, {label: certainPathLabel , route: this.routeService.generateUrl(certainPatRoute)}) } } this.tabs$.next(this.tabsArray); } }); }Esto funciona solo si selecciono alemán, la pestaña está oculta, pero si luego selecciono cualquier otro idioma, no puedo volver a mostrar la pestaña sin importar lo que elija, ¿alguna ayuda?
¿Tienes la posibilidad de usar un simple observable?
isGerman$ = this.translate.onLangChange.pipe( map({ next: (event: { lang: string; }) } => // Are you sure for { } ? event.lang && event.lang === 'de' ) ); <tabs> <tab *ngIf="isGerman$ | async">German</tab> </tabs>