Rumah >hujung hadapan web >View.js >Bagaimanakah penghalaan bersarang dilaksanakan dalam Penghala Vue?

Bagaimanakah penghalaan bersarang dilaksanakan dalam Penghala Vue?

WBOY
WBOYasal
2023-07-22 10:31:54641semak imbas

Bagaimana penghalaan bersarang dilaksanakan dalam Penghala Vue?

Vue.js ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Penghala Vue ialah pemalam rasmi untuk Vue.js, digunakan untuk membina sistem penghalaan untuk aplikasi satu halaman. Penghala Vue menyediakan cara yang mudah dan fleksibel untuk mengurus navigasi antara halaman dan komponen aplikasi anda yang berbeza.

Penghalaan bersarang ialah ciri yang sangat berguna dalam Penghala Vue, yang boleh mengendalikan struktur halaman yang kompleks dengan mudah. Melalui penghalaan bersarang, kami boleh menentukan berbilang laluan anak di bawah laluan induk untuk melaksanakan struktur hierarki halaman. Dalam artikel ini, kita akan mempelajari cara menggunakan penghalaan bersarang dalam Penghala Vue.

  1. Pertama, kita perlu mencipta aplikasi Vue.js dan memperkenalkan Penghala Vue. Kita boleh menggunakan Vue CLI untuk mencipta projek Vue.js baharu, atau menambahkan Penghala Vue secara manual pada projek sedia ada.
  2. Seterusnya, kita perlu mengkonfigurasi Penghala Vue. Dalam fail konfigurasi Penghala Vue, kita boleh menentukan laluan yang berbeza dan komponen yang sepadan dengan setiap laluan. Dalam fail konfigurasi ini, kita boleh menggunakan medan kanak-kanak untuk menentukan laluan kanak-kanak. Contohnya: children字段来定义子级路由。例如:
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'
import Contact from './components/Contact.vue'
import Products from './components/Products.vue'
import ProductDetail from './components/ProductDetail.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    component: Home
  },
  {
    path: '/about',
    component: About
  },
  {
    path: '/contact',
    component: Contact
  },
  {
    path: '/products',
    component: Products,
    children: [
      {
        path: ':id',
        component: ProductDetail
      }
    ]
  }
]

const router = new VueRouter({
  routes
})

export default router

在上面的代码中,我们定义了一个父级路由/products,以及一个子级路由:id。子级路由:id使用了动态路由参数,可以匹配不同的产品详情页面。

  1. 在应用程序的入口文件(通常是main.js)中,我们需要将Vue Router添加到Vue实例中。例如:
import Vue from 'vue'
import App from './App.vue'
import router from './router'

new Vue({
  render: h => h(App),
  router
}).$mount('#app')
  1. 现在我们可以在组件中使用嵌套路由了。我们可以在父级组件中使用975b587bf85a482ea10b0a28848e78a4来展示当前路由对应的组件,并在子级组件中使用975b587bf85a482ea10b0a28848e78a4来展示子级路由对应的组件。

在上述示例中,我们可以创建一个Products组件用于展示产品列表,以及一个ProductDetail组件用于展示单个产品的详细信息。在父级组件Products的模板中,我们可以添加975b587bf85a482ea10b0a28848e78a4来展示子级路由对应的组件。例如:

<template>
  <div>
    <h2>Products</h2>
    <ul>
      <li v-for="product in products" :key="product.id">
        <router-link :to="'/products/' + product.id">{{ product.name }}</router-link>
      </li>
    </ul>
    <router-view></router-view>
  </div>
</template>

在子级组件ProductDetail中,我们可以使用$route.params

<template>
  <div>
    <h3>{{ product.name }}</h3>
    <p>{{ product.description }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      product: {}
    }
  },
  created() {
    const productId = this.$route.params.id
    // 根据productId从后端获取数据,并将数据赋值给product
    // ...
  }
}
</script>

Dalam kod di atas, kami mentakrifkan laluan induk /products dan laluan anak :id. Anak penghalaan :id menggunakan parameter penghalaan dinamik untuk memadankan halaman butiran produk yang berbeza.

    Dalam fail kemasukan aplikasi (biasanya main.js), kita perlu menambah Penghala Vue pada contoh Vue. Contohnya:

rrreee

    Kini kita boleh menggunakan penghalaan bersarang dalam komponen. Kita boleh menggunakan 975b587bf85a482ea10b0a28848e78a4 dalam komponen induk untuk memaparkan komponen yang sepadan dengan laluan semasa dan menggunakan 975b587bf85a482ea10b0a28848e78a4 dalam komponen anak untuk Paparkan komponen yang sepadan dengan laluan kanak-kanak.
🎜Dalam contoh di atas, kita boleh mencipta komponen Products untuk memaparkan senarai produk dan komponen ProductDetail untuk memaparkan maklumat terperinci bagi satu produk . Dalam templat komponen induk Produk, kami boleh menambah 975b587bf85a482ea10b0a28848e78a4 untuk memaparkan komponen yang sepadan dengan laluan anak. Contohnya: 🎜rrreee🎜Dalam komponen anak ProductDetail, kita boleh menggunakan $route.params untuk mendapatkan parameter penghalaan dinamik. Contohnya: 🎜rrreee🎜Melalui langkah di atas, kita boleh menggunakan penghalaan bersarang dalam Penghala Vue. Penghalaan induk boleh digunakan untuk memaparkan komponen induk, dan ia juga boleh mengandungi penghalaan anak untuk memaparkan komponen anak. Menggunakan parameter penghalaan dinamik, kami boleh memaparkan kandungan yang berbeza dalam komponen anak berdasarkan parameter yang berbeza. 🎜🎜Ringkasan: 🎜Penghalaan bersarang ialah ciri yang sangat berguna dalam Penghala Vue, yang boleh membantu kami membina struktur halaman yang kompleks. Dalam artikel ini, kami memperkenalkan secara ringkas penggunaan penghalaan bersarang dalam Penghala Vue dan memberikan contoh kod. Saya berharap melalui kajian artikel ini, pembaca dapat menguasai penggunaan asas penghalaan bersarang dalam Penghala Vue, supaya dapat mengaplikasikannya dengan lebih baik pada projek Vue.js mereka sendiri. 🎜

Atas ialah kandungan terperinci Bagaimanakah penghalaan bersarang dilaksanakan dalam Penghala Vue?. 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