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

375
Visualizações
¿Cómo puedo crear una base de componentes de migas de pan dinámicas en la ruta/URL actual?

Estoy tratando de construir un componente Breadcrumbs que genere dinámicamente una base de enlaces en mi URL actual


Ex.

 http://localhost:8080/car/create

Mis migas de pan deberían verse como

Inicio > coche > crear


Ex.

 http://localhost:8080/car/ford

Mis migas de pan deberían verse como

Inicio > coche > ford


Ex.

 http://localhost:8080/car/ford/raptor

Mis migas de pan deberían verse como

Inicio > coche > ford > raptor

¿Cómo se construiría dinámicamente algo como esto?


tengo

 <template lang=""> <v-row> <v-breadcrumbs :items="links" class="black--text"> <template v-slot:divider> <v-icon>mdi-chevron-right</v-icon> </template> </v-breadcrumbs> </v-row> </template> <script> export default { name: 'Breadcrumbs', props: { title: String }, data() { return { links: [ { text: 'Home', disabled: false, href: '/' }, { text: this.title, disabled: true, href: 'breadcrumbs_link_2' } ] } } } </script>
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Necesita implementar una propiedad computed como la siguiente:

 const breadcrumb = Vue.component('breadcrumb', { template: '#breadcrumb', props: { title: String }, computed: { links: function() { return [ { text: 'Home', disabled: false, href: '/' }, { text: this.title, disabled: true, href: 'breadcrumbs_link_2' }, ...( (new URL(window.location.href)) .pathname .split('/') .slice(1) .map(seg => ({ text: seg, disabled: false, href: seg })) ) ]; } } }); new Vue({ el:"#app", vuetify: new Vuetify(), components: { breadcrumb } });
 <script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script><link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet"> <template id="breadcrumb"> <v-row> <v-breadcrumbs :items="links" class="black--text"> <template v-slot:divider><v-icon>mdi-chevron-right</v-icon></template> </v-breadcrumbs> </v-row> </template> <v-app id="app"> <breadcrumb title="title_1" /> </v-app>

over 4 years ago · Santiago Trujillo Relatório

0

Esta solución le brinda la capacidad de personalizar el texto en las migajas a través del enrutador vue (aparte de confiar en el texto de la ruta, que puede no ser siempre suficiente) y también permite incluso capturar parámetros de URL.

en su router.js agregue una propiedad adicional a cada objeto

 { path: "bank-statement", component: StorageAccountList, name: "storage-accounts", meta: { title: "Bank Accounts ", resource: "bankAccounts", breadCrumb: "Bank & Cash accounts" } },

luego, en su cálculo del componente principal que alberga a todos los demás, agregue esto

 <v-breadcrumbs style="padding-top: 15px; padding-bottom: 0;" :items="crumbs" > <template v-slot:divider> <v-icon>mdi-chevron-right</v-icon> </template> </v-breadcrumbs> computed: { crumbs: function() { let pathArray = this.$route.path.split("/"); pathArray.shift(); let itemsCount = pathArray.length; return pathArray.reduce((breadcrumbArray, path, idx) => { let count = idx + 2; breadcrumbArray.push({ // to: {path:idx>1 ? "/" + breadcrumbArray[idx - 1].path + "/" : "/"+path }, path: path, disabled: count > itemsCount, href: breadcrumbArray[idx - 1] ? "/" + breadcrumbArray[idx - 1].path + "/" + path : "/" + path, text: (this.$route.matched[idx] && this.$route.matched[idx].meta.breadCrumb) || path }); return breadcrumbArray; }, []); } },
over 4 years ago · Santiago Trujillo Relatório
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