Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

144
Visualizações
Cómo hacer que la ruta predeterminada muestre una aplicación en un solo spa sin agregar la función activeWhen

Estoy usando el marco de un solo spa y la mayoría de las cosas van bien.

Usando el diseño de spa único, he agregado una ruta predeterminada que debe mostrarse cuando la URL no coincide con una ruta que he definido. Esto funciona correctamente si el hijo de la raíz predeterminada es solo un nodo/s html, por ejemplo

 <template id="single-spa-layout"> <single-spa-router mode="history" base="/"> <route default> <h1>404 - No page mathes the URL</h1> </route> <route path="login"> <application name="@my-company/mf-login"></application> </route> </single-spa-router> </template>

Mi problema es que si quiero enrutar a una aplicación en particular (mf-default en mi caso) en la raíz predeterminada, no se muestra a menos que registre mi aplicación y proporcione la función activeWhen() tal como lo haría con todas mis otras aplicaciones. p.ej

 <template id="single-spa-layout"> <single-spa-router mode="history" base="/"> <route default> <application name="@my-company/mf-default"></application> </route> <route path="login"> <application name="@my-company/mf-login"></application> </route> </single-spa-router> </template>
 registerApplication({ name: "@my-company/mf-default", app: () => { return System.import("@my-company/mf-default"); }, activeWhen: () => shouldBeActive, });

No estoy seguro de por qué necesitaría proporcionar la lógica para cuándo se debe mostrar la aplicación 404 predeterminada (en mi ejemplo, esta es la parte shouldBeActive), ya que ya sabe si la URL coincide con una ruta conocida, como lo demuestra el hecho de que mi El primer ejemplo funciona y solo muestra ese HTML siempre que la ruta realmente no coincida.

¿Alguien puede aclararme cómo debería funcionar esto, por favor? Definitivamente necesito mostrar algo más que HTML codificado para un 404: necesito mostrar una aplicación específica, en este caso, mi aplicación predeterminada mf.

Debo decir que si configuro shouldBeActive en verdadero, entonces se muestra la aplicación 404, por lo que no hay ninguna limitación técnica que la prohíba. Pero no entiendo por qué necesito proporcionar la función activeWhen() para este caso, ya que el marco ya sabe cuándo una ruta no coincide.

Incluso tener acceso a la función que usa el marco para calcular un routeMatch ayudaría, ya que podría reutilizarlo.

Cualquier ayuda en esto sería muy apreciada. Estoy seguro de que una respuesta sobre esto también podría ser útil para otros. Gracias

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda