es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

RouterLink no funciona en Ion-Button después de añadir ion-tabs, pero funciona bien sin las pestañas. ¿Cómo puedo resolver este problema?

Todo funcionaba bien antes de agregar ion-tab-button, tengo botones iónicos con enrutamiento a otra página.

Cuando agregué ion-tabs, el enlace del enrutador no funciona en el botón después de hacer clic.

¿Dónde está mi error? ¡Necesito una solución!

Este es mi home.page.html

<ion-header translucent="">
  <ion-toolbar>
    <ion-buttons slot="start">
      <ion-menu-button></ion-menu-button>
    </ion-buttons>
    <ion-title>SERVER STORE</ion-title>
  </ion-toolbar>
</ion-header>
<ion-content fullscreen="">

  <ion-grid>
    <ion-row>
      <ion-col size="12">

        <ion-slides pager="true" [options]="slideOptsOne" #slidewithnav="" (ionslidedidchange)="SlideDidChange(sliderOne,slideWithNav)">
          <ion-slide *ngfor="let s of sliderOne.slidesItems">
            <img src="assets/{{s.id}}.png">
          </ion-slide>
        </ion-slides>

      </ion-col>

    </ion-row>
  </ion-grid>
  <ion-grid>
    <ion-row>
      <ion-col>
        <ion-button expand="block" [routerlink]="['/iptv-list']">IPTV List   </ion-button>
      </ion-col>
    </ion-row>
    <ion-row>
      <ion-col>
        <ion-button expand="block" [routerlink]="['/sharing']">Sharing List   </ion-button>
      </ion-col>      
    </ion-row>
  </ion-grid>


</ion-content>

<ion-tabs>
  <ion-tab-bar slot="bottom">
    <ion-tab-button>
      <ion-icon name="speedometer"></ion-icon>
      <ion-label>مباريات اليوم</ion-label>
    </ion-tab-button>

    <ion-tab-button>
      <ion-icon name="play-circle"></ion-icon>
      <ion-label>WATCH</ion-label>
    </ion-tab-button>
  </ion-tab-bar>
</ion-tabs>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema parece estar relacionado con la adición de ion-tabs en home.page.html. Cuando se agrega la barra de pestañas, ocupa espacio en la parte inferior de la página y cubre la parte inferior del elemento ion-content, incluyendo los elementos ion-button. Esto significa que cuando un usuario hace clic en uno de los elementos ion-button, el clic se registra en realidad en la barra de pestañas y el enlace del enrutador no funciona como se espera.

    Para solucionar este problema, el elemento ion-tabs debe moverse dentro del elemento ion-content, de modo que se coloque debajo del elemento ion-grid. De esta manera, los ion-buttons no se verán cubiertos por la barra de pestañas y el enlace del enrutador debería funcionar como se espera.

    Aquí tienes una versión actualizada del código home.page.html con el elemento ion-tabs movido:

    <ion-header translucent="">
      <ion-toolbar>
        <ion-buttons slot="start">
          <ion-menu-button></ion-menu-button>
        </ion-buttons>
        <ion-title>SERVER STORE</ion-title>
      </ion-toolbar>
    </ion-header>
    <ion-content fullscreen="">
    
      <ion-grid>
        <ion-row>
          <ion-col size="12">
    
            <ion-slides pager="true" [options]="slideOptsOne" #slidewithnav="" (ionslidedidchange)="SlideDidChange(sliderOne,slideWithNav)">
              <ion-slide *ngfor="let s of sliderOne.slidesItems">
                <img src="assets/{{s.id}}.png">
              </ion-slide>
            </ion-slides>
    
          </ion-col>
    
        </ion-row>
      </ion-grid>
      <ion-grid>
        <ion-row>
          <ion-col>
            <ion-button expand="block" [routerlink]="['/iptv-list']">IPTV List   </ion-button>
          </ion-col>
        </ion-row>
        <ion-row>
          <ion-col>
            <ion-button expand="block" [routerlink]="['/sharing']">Sharing List   </ion-button>
          </ion-col>
        </ion-row>
    
    
    
      </ion-grid>
      <ion-tabs>
        <ion-tab-bar slot="bottom">
          <ion-tab-button>
            <ion-icon name="speedometer"></ion-icon>
            <ion-label>مباريات اليوم</ion-label>
          </ion-tab-button>
    
          <ion-tab-button>
            <ion-icon name="play-circle"></ion-icon>
            <ion-label>WATCH</ion-label>
          </ion-tab-button>
        </ion-tab-bar>
      </ion-tabs>
    
    </ion-content>
    

Comments are closed.