Aceptar, para explicar esto simplemente:

He 3x páginas.

  • Página 1 (Casa)
  • Página 2 (Menú)
  • Página 3 (Acerca De).

Página 1-

<router-link  to="/menu">

botón que al hacer clic rutas a «/menú».

Por ahora, Página 2 (Menú) tiene un

<router-link  to="/">

botón y al hacer clic en este botón se vuelve a la anterior ubicación «/» de la Página 1 (Casa).

Pero no quiero crear un componente para el router para cada página para ‘volver’ a la página anterior (como si tuviera 100 páginas que esto podría ser un montón de trabajo de enrutamiento de la espalda). Hay una manera de hacer esto con el vue-router? similar a la ventana.historia.back()

Curiosidad para ver si hay una manera de hacer esto, ya que no la puede encontrar en la documentación.

Gracias de antemano! Juan

  • router.vaya(n) | Programático de Navegación | vue-router
  • es probablemente la mejor respuesta. Actualmente tenemos y el componente externo con el botón atrás que utiliza la manipulación de cadenas en la dirección url actual para volver a la última página en la ruta. Probablemente vamos a cambiar el router.ir método cuando tenemos la oportunidad ahora
  • Ok gracias! Ella estaba mirándome directamente a la cara! No estoy realmente seguro de cómo escribir esto en mi sintaxis, aunque. Lo siento! Soy nuevo en esto!
InformationsquelleAutor John107 | 2018-01-04

3 Comentarios

  1. 115

    Puede utilizar Programático De Navegación.Con el fin de regresar, utilice esto:

    router.go(n) 

    Donde n puede ser positivo o negativo (para volver). Esta es la misma historia.atrás().Así que usted puede tener su elemento como este:

    <a @click="$router.go(-1)">back</a>
    • Funciona. Gracias.
    • Alguien tenía algún problema con esto en IE11? E. g si abro una página a través de router-link, haga clic en el botón se remonta, sin embargo si puedo abrir la misma página a través de router-enlace de la router.go(-1) borra mi URL pero no pasa nada.
    • Quiero volver a la página anterior si no hay ningún id de la carga, que funciona, pero en la página de actualización .go(-1) va 2 páginas atrás en lugar de 1 página.
    • Pregunta de Noob, es aceptar que estamos utilizando a etiqueta aquí en vez de router-link
  2. 1

    Si usted está usando Vuex puede utilizar https://github.com/vuejs/vuex-router-sync

    Sólo se inicializa en su archivo principal con:

    import VuexRouterSync from 'vuex-router-sync';
    VuexRouterSync.sync(store, router);

    Cada cambio de ruta se actualizará route objeto de estado en Vuex.
    Usted puede crear getter el uso de la from Objeto en la ruta de estado o, simplemente, utilizar el state (mejor es el uso de los captadores, pero es otra historia
    https://vuex.vuejs.org/en/getters.html),
    así que en breve sería (dentro de los componentes de los métodos y/o valores):

    this.$store.state.route.from.fullPath

    También puede colocarlo en <router-link> componente:

    <router-link :to="{ path: $store.state.route.from.fullPath }"> 
      Back 
    </router-link>

    Así que cuando se utiliza el código de arriba, el enlace anterior ruta de acceso será generado de forma dinámica.

    • esto provoca un bucle infinito problema

Dejar respuesta

Please enter your comment!
Please enter your name here