guardias de navegación en ruta vue

1. ¿Cuál es la vigilancia de la navegación

El funcionario dijo que así:

Como su nombre lo indica, vue-router los guardias de navegación que se utilizan principalmente para saltar a través de o cancelar la navegación de guardias.

Bueno, yo no entiendo, como solución (cuando) una buena gestión (residuos) (palabras) en (él). De hecho, la ruta de navegación esté vigilado salto procesar algunos función de enlace y, a continuación, encaminar punto de salto directo es un gran proceso, este proceso se divide en grandes saltos delante, tras un proceso finamente, etc., en todos los procesos tiene una función que le permite manipular el tiempo de alguna otra cosa, que es el guardia de navegación.

2. Vaya guardia de resolución completa

Mira a un tiro de gancho después de la orden de ejecución de funciones de salida de él, será presentado después de que el general para explicar, le dará ideas para la especie (es decir, el primer ensayo para conocer la última revisión)

Bueno, yo no sé la estimación no puede leerlo! Pero espero que se puede ver más de un punto puede volver a bajar el orden, advirtiendo frente a productos secos


Navegación en guardia: ruta única mundial, exclusiva, tres componentes internos. Respectivamente un vistazo:

[Global]: se refiere a la función de gancho en la manipulación directa de instancia de enrutamiento, que se caracteriza por todos los componentes de la configuración de enrutamiento se disparará, punto de disparo es ruta directa activará la función de enlace, las siguientes líneas. función Conexión incluyendo la orden de ejecución beforeeach, beforeResolve (2.5 +), afterEach tres (las funciones de gancho se ejecutan en orden a explicar):

const = enrutador nueva VueRouter ({...}) 

router.beforeEach ((a, desde, al lado) => { 
  // ... 
})

[Beforeeach]: gatillo un salto en antes de parámetros de encaminamiento que incluye a, desde, al lado (parámetros se presentará por separado) tres, el efecto de gancho se utiliza principalmente para la autenticación de inicio de sesión, que no es la ruta para saltar informado de antemano, a fin de no salto a continuación, la notificación será demasiado tarde.

[BeforeResolve] (2.5+): Este gancho y beforeeach enrutamiento similares antes que se active el salto, los parámetros son a, desde, al lado tres, y explicación oficial beforeeach para la diferencia:

La diferencia está en la navegación antes de ser confirmado, después de que todos los componentes dentro de la misma guardia de tiempo y componente de enrutamiento asíncrono se resuelve, guardia resuelto fue llamado.

Es decir, después de beforeeach y los componentes internos beforeRouteEnter, afterEach llamado antes.

[AfterEach]: y beforeeach En cambio, él estaba saltando después de enrutamiento parámetros finalización de disparo incluyendo a, desde la ausencia de parámetros siguientes (que se presentará por separado), se produjo después de que beforeeach y beforeResolve, beforeRouteEnter (dentro de los guardias de montaje, después de hablar) antes.

 

[Routing] se refiere a la función de gancho exclusiva cuando se puede proporcionar una única configuración de enrutamiento que la posición es la posición en el siguiente ejemplar, es decir, como Foo tales componentes están presentes tal función de enlace. En la actualidad es la única función beforeEnter un gancho:

const = enrutador nueva VueRouter ({ 
  rutas: [ 
    { 
      path: '/ foo', 
      componente: Foo, 
      beforeEnter: (a, desde, al lado) => { 
        // ... 
      } 
    } 
  ] 
})

[BeforeEnter]: beforeeach idénticos y, si el conjunto se lleva a cabo inmediatamente después de los parámetros beforeeach a, desde, junto

[El componente]: se refiere a las ejecuta la función de enganche dentro del conjunto, el conjunto es similar al ciclo de vida, la función de gancho ciclo de vida correspondiente al ser componente configurado para añadir rutas. función Conexión incluyendo la orden de ejecución beforeRouteEnter, beforeRouteUpdate (2.2 +), beforeRouteLeave tres, la realización de las siguientes posiciones:

<Plantilla> 
  ... 
</ Plantilla> 
predeterminado de exportación { 
  Datos () { 
    // ... 
  }, 
  beforeRouteEnter (a, desde, Siguiente) { 
    // llamada a cumplir en el conjunto antes de la ruta es correspondiente para confirmar 
    // ¡No! Puede! Ejemplos this` componente de adquisición ` 
    @ ya la protección delantera cuando se ejecuta, instancia del componente no se ha creado 
  }, 
  beforeRouteUpdate (a, desde, Siguiente) { 
    // un cambio de ruta de la corriente, pero cuando el componente se denomina multiplexado 
    // modo de ejemplo dijo camino para un parámetro dinámico con / foo /: id, el tiempo entre saltos / foo / 1 y / foo / 2, y 
    // foo desde hace mismos componentes, y por lo tanto se puede multiplexar instancia de componente . Y este gancho será llamado en este caso. 
    // acceso a los componentes this` ejemplo ` 
  }, 
  beforeRouteLeave (a, desde, Siguiente) { 
    invoca cuando // la ruta de navegación de la asamblea de distancia de la correspondiente 
    // acceso a los componentes ejemplo this`` 
  } 
} 
<style> 
  ... 
</ style>

[BeforeRouteEnter]: enrutamiento de llamadas antes de entrar parámetros incluyen a, desde, siguiente. Después de que el gancho en la guardia global y exclusivo que guarda beforeeach beforeEnter, beforeResolve global y afterEach mundial antes de llamar, tenga en cuenta que los casos pueden no componentes de acceso dentro de la guardia, que es, esto no está definido, es decir, antes de que se dispara el ciclo de vida beforeCreate . En esta función, el gancho puede pasar a través de una devolución de llamada a la siguiente acceso instancia de componente. Devoluciones de llamada a la navegación es afirmativa, y la instancia de componente como un método de parámetros de devolución de llamada, puede solicitar al servidor para obtener datos de la guardia, que se adquirieron con éxito y para entrar en la llamada ruta a la siguiente y en la devolución de llamada vm instancia del componente de acceso la asignación y otras operaciones, (al lado en función llamada después de montado: con el fin de asegurar el pleno acceso a la instancia de componente).

beforeRouteEnter (a, desde, Siguiente) { 
  // Aquí también se puede acceder a la instancia del componente, la presente indefinido === 
  siguiente (VM => { 
    // acceso instancia de componente `vm` 
  }) 
}

[BeforeRouteUpdate] (v 2.2 +): cuando el cambio de ruta actual, y llamado ejemplo cuando el conjunto se multiplexa se puede acceder a través de este. Incluyendo parámetros a, desde, al lado. Algunos estudiantes pueden estar en duda, lo que es o lo que es cambiar el componente de enrutamiento es multiplexada?

  • Para los parámetros dinámicos con una ruta / foo /: id, el tiempo entre saltos / foo / 1 y / foo / 2, la instancia de componente se multiplexan, se llamará a los guardias
  • La consulta actual cambio de enrutamiento, se llamará a los guardias

[BeforeRouteLeave]: navegar fuera de la componente correspondiente del enrutamiento de llamadas, acceso instancia de componente this, parámetros que incluyen a, desde, siguiente.

 

Hasta el momento, todas las introducciones función de enlace.

Repetidamente Kazajstán:

全局 路由 钩子: beforeeach (a, desde, al lado), beforeResolve (a, desde, al lado), afterEach (a, desde);

Exclusivo gancho de enrutamiento: beforeEnter (a, desde, al lado);

组件 内 路由 钩子: beforeRouteEnter (a, desde, al lado), beforeRouteUpdate (a, desde, al lado), beforeRouteLeave (a, desde, siguiente)

No sé si se acuerda de, desde, próximos tres parámetros

Por favor, intente lo siguiente primero de varios parámetros de esta función de enlace leído a través de los estudiantes cuidadosos no puede ver el siguiente parámetro de ganchos afterEach, ¿por qué?

3. argumento guardia de devolución de llamada Navegar

a: diana objeto de ruta;

a partir de: objeto de encaminamiento es a punto de salir;

siguiente: él es el más importante parámetro, el equivalente de su línea de cuentas de oración, poner un hilvanar una a una perla. Asegúrese de tener en cuenta los siguientes puntos en mente:

1. Siempre que el próximo parámetro relacionado con el gancho, debe llamar al lado () junto a avanzar por un gancho, de lo contrario, la ruta saltos y otras paradas.

2. Si desea que la navegación de interrupción de corriente que se llamará el próximo (falso). Si ha cambiado la dirección URL del navegador (puede ser manual o navegadores de los usuarios botón de retroceso), la dirección URL se restablecerá a fromabordar la ruta correspondiente. (Se utiliza principalmente para el proceso de autenticación de inicio de sesión no pasa)

3. Por supuesto, esto puede usarse siguiente, siguiente ( '/') o siguiente ({ruta: '/' }): salto a una dirección diferente. Lo que significa que la navegación actual se interrumpe y luego una nueva navegación. Los parámetros se pueden pasar router.push acuerdo de opción.

4. próxima en ganchos (beforeRouteEnter (VM) => {}) Ejemplos de parámetros de devolución de llamada en la actual Asamblea VM, la función de devolución de llamada después del ciclo de vida Montado, es decir, que él es y todo el ciclo de vida de guardia de navegación la última función realizada por los ganchos.

5.next (error): (v2.4.0 + ) si el entrante  next parámetro es un  Error ejemplo, la navegación será terminada y el error se pasa a las  router.onError() devoluciones de llamada registrados.

4. Resumen

Bueno, recuerde que la disparó, lo vemos de nuevo

Finalmente, repetimos qué orden:

Al hacer clic en el conmutador de encaminamiento:

beforeRouterLeave -> beforeeach -> beforeEnter -> beforeRouteEnter -> beforeResolve -> afterEach -> beforeCreate -> creado -> beforeMount -> montada -> beforeRouteEnter

La próxima devolución de llamada 

Cuando las actualizaciones de enrutamiento : beforeRouteUpdate

Original: https://zhuanlan.zhihu.com/p/54112006

04/09/2020

Supongo que te gusta

Origin www.cnblogs.com/sylys/p/12665265.html
Recomendado
Clasificación