Rumah  >  Artikel  >  hujung hadapan web  >  Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

青灯夜游
青灯夜游asal
2021-10-27 17:51:018626semak imbas

Terdapat 2 jenis fungsi cangkuk penghalaan Vue, iaitu: 1. Pengawal global (fungsi cangkuk global), yang merujuk kepada objek penghala dalam "index.js" 2. Pengawal penghalaan (untuk penghalaan tunggal fungsi cangkuk) ); 3. Pengawal komponen (fungsi cangkuk peringkat komponen) ialah pengadang yang ditakrifkan di dalam komponen penghalaan.

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Persekitaran pengendalian tutorial ini: sistem Windows 7, vue versi 2.9.6, komputer DELL G3.

vue-routerfungsi cangkuk sebenarnya merujuk kepada Pengawal Navigasi.

Memetik tapak web rasmi

Navigasi” menunjukkan bahawa penghalaan sedang berubah. Pengawal navigasi yang disediakan oleh

vue-router digunakan terutamanya untuk menjaga navigasi dengan melompat atau membatalkan. Terdapat berbilang peluang untuk membina proses navigasi laluan: secara global, eksklusif untuk satu laluan, atau pada peringkat komponen.

Iaitu: Pengawal global (fungsi cangkuk global) , Pengadang penghalaan (untuk fungsi cangkuk penghalaan tunggal) , Pengadang komponen (komponen fungsi cangkuk aras) .

Pembinaan persekitaran demonstrasi kod

Sediakan persekitaran secara ringkas dahulu

index.js

import { createRouter, createWebHashHistory } from 'vue-router';

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: '/a',
      component: () => import('../components/A.vue'),
    },
    {
      path: '/b',
      component: () => import('../components/B.vue'),
    },
    {
      path: '/c',
      component: () => import('../components/C.vue'),
    },
  ],
});
export default router;

utama . > Halaman C

// index.js
import router from "./router"; 
createApp(App).use(router).mount("#app");

Komponen Biasa

<template>
  <div>
    <h1>我是页面A啊</h1>
    <comp></comp>
  </div>
</template>

Halaman sekarang macam ni, agak hodoh, tengok saja untuk suka-suka, kami bukan di sini untuk mempelajari

<template>
  <div>
    <h1>我是页面B啊</h1>
    <comp></comp>
  </div>
</template>

pengawal global

, seperti namanya, akan ditakrifkan secara global, iaitu,
<template>
  <div>
    <h1>我是页面C啊</h1>
    <comp></comp>
  </div>
</template>
objek dalam

kami. beforeEach

<template>
  <div>我是公用组件啊</div>
</template>
Pengadang hadapan global, dicetuskan sebelum lompat laluan, ia akan dicetuskan setiap kali

navigasicss.

Daftar pengawal hadapan global melalui Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?.

index.jsParameterrouter

Pengawal hadapan global menerima tiga parameter

ke: Laluan

: Objek laluan sasaran yang akan masuk

router.beforeEach

dari: Laluan

: Objek laluan yang akan ditinggalkan oleh navigasi semasa Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

seterusnya: Fungsi

: Tertentu Kaedah ini mesti dipanggil jika tidak ia akan menyekat penghalaan.

beforeEach

    Nota:
  • parameter tidak perlu ditambah, tetapi setelah ditambah, ia mesti dipanggil sekali, jika tidak, lompatan penghalaan, dsb. akan berhenti. Beberapa kes kaedah
  • next(): Teruskan ke cangkuk seterusnya dalam perancangan.
seterusnya(salah):

Mengganggu navigasi semasa. Kembali ke alamat yang sepadan dengan laluan . next

next('/') atau next({ path: '/' }):

melompat ke alamat yang berbeza Parameter yang boleh dihantar adalah sama dengan pilihan dalam next().

  • seterusnya(ralat): Navigasi ditamatkan dan ralat akan dihantar ke panggil balik berdaftar.
  • Mari cetak dua parameter pertama dan lihat ia mengandungi laluan, parameter, maklumat meta, dsb. from
  • Nilai pulanganrouter.push
  • salah: Batalkan navigasi semasa. router.onError()
  • null, undefined, true atau return terus
: Panggil pengawal navigasi seterusnya.

Tentukan berbilang pengawal Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Berbilang pengawal hadapan global boleh ditakrifkan dan dipanggil mengikut susunan penciptaan. Navigasi sedang menunggu sehingga semua pengawal selesai.

Dalam contoh berikut, kami mentakrifkan dua
    pengawal hadapan global. Ia boleh dilihat bahawa lompatan halaman berlaku hanya selepas dua log dicetak dua saat kemudian.
  • Kecuali
pengawal hadapan global, pengawal global lain boleh ditakrifkan, dan semua pengawal telah selesai Sebelum ini, navigasi telah menunggu, dan fungsi cangkuk lain tidak akan ditunjukkan.

beforeResolve

Pengawal resolusi global, sebelum lompatan penghalaan, semua

pengawal dalam komponenbeforeEach dan

komponen penghalaan tak segerak

dicetuskan selepas ia dihuraikan, ia adalah sama Dipecat setiap kali Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya? dilayari

.

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?Daftarkan pengawal penghuraian global melalui

.

beforeEach

parameter panggil balik, nilai pulangan adalah sama dengan

. Ia juga mungkin untuk menentukan beberapa pengawal penghuraian global.

afterEach

Kait tiang global, ia berlaku selepas lompatan laluan selesai, selepas beforeEach dan beforeResolve, dan sebelum beforeRouteEnter (pengawal dalam komponen). Ia juga menyala setiap kali anda menavigasi.

Daftar posthook global melalui router.afterEach.

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Dua parameter cangkuk ini adalah sama seperti beforeEach dan to dalam from. Walau bagaimanapun, tidak seperti cangkuk global yang lain, cangkuk ini tidak akan menerima fungsi next dan juga tidak akan menukar navigasi itu sendiri.

Pengawal Laluan

Seperti namanya, ia adalah cangkuk yang berkaitan dengan penghalaan Kami hanya mempunyai satu pengawal laluan, iaitu beforeEnter.

sebelumEnter

perlu mentakrifkan pengawalan beforeEnter pada konfigurasi penghalaan ini hanya dicetuskan apabila memasuki laluan Ia akan dilaksanakan serta-merta selepas beforeEach dan tidak akan dilaksanakan selepas params atau atau query berubah. hash

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Parameter pengawal laluan ialah beforeEnter, to, from, sama seperti next. beforeEach

Pengawal komponen

Seperti namanya, ia adalah pengawal yang ditakrifkan di dalam komponen penghalaan.

sebelumRouteEnter

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

dipanggil sebelum laluan memasuki komponen ini dipanggil selepas pengawal global

dan pengawal laluan beforeEach, global beforeEnter dan global Dipanggil sebelum beforeResolve. Parameter afterEach

termasuk

, to, from. next

Instance komponen tidak boleh diakses dalam pengawal ini, iaitu,

ialah this, iaitu, ia dicetuskan sebelum undefined kitaran hayat. beforeCreate

beforeRouteUpdate

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Untuk

, beforeRouteUpdate sudah tersedia, jadi tidak perlu menghantar panggilan balik ke this. next

beforeRouteLeave

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Untuk

, beforeRouteLeave sudah tersedia, jadi tidak perlu menghantar panggilan balik ke this. next

Ringkasan

Proses penghuraian navigasi lengkap

    Navigasi dicetuskan.
  1. Panggil
  2. pengawal dalam komponen yang dinyahaktifkan. beforeRouteLeave
  3. memanggil pengawal
  4. global. beforeEach
  5. Panggil
  6. pengawal dalam komponen yang digunakan semula. beforeRouteUpdate
  7. Panggil
  8. dalam konfigurasi penghalaan. beforeEnter
  9. Selesaikan komponen penghalaan tak segerak.
  10. Panggil
  11. dalam komponen yang diaktifkan. beforeRouteEnter
  12. memanggil pengawal
  13. global. beforeResolve
  14. Navigasi disahkan.
  15. memanggil cangkuk
  16. global. afterEach
  17. mencetuskan
  18. kemas kini. DOM
  19. memanggil fungsi panggil balik yang diserahkan kepada
  20. dalam pengawal beforeRouteEnter, dan tika komponen yang dibuat akan dihantar masuk sebagai parameter fungsi panggil balik. next
Di atas ialah jawapan rasmi Sekarang kami menggunakan carta alir untuk menunjukkannya secara intuitif.

Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?

Cadangan berkaitan: "

tutorial vue.js"

Atas ialah kandungan terperinci Berapakah jenis fungsi cangkuk penghalaan vue yang ada? Apakah perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn