ホームページ >ウェブフロントエンド >Vue.js >Vue Router を使用してマルチレベルのルーティングのネストとマッチングを実装するにはどうすればよいですか?
Vue Router を使用してマルチレベルのルーティングのネストとマッチングを実装するにはどうすればよいですか?
Vue Router は Vue.js の公式ルーティング マネージャーであり、シングル ページ アプリケーション (SPA) でのルーティング機能の実装に役立ちます。 Vue Router では、ルーティングテーブルを設定することでさまざまなルーティングルールを定義し、ルートジャンプやマッチングを実装することができます。この記事では、Vue Router を使用してマルチレベルのルートのネストとマッチングを実装する方法に焦点を当てます。
まず、プロジェクトに Vue Router をインストールする必要があります。 npm または Yarn コマンドを使用して Vue Router をインストールできます。
npm install vue-router
or
yarn add vue-router
Vue プロジェクトでは、ルーティング インスタンスを作成し、それをルート インスタンスに接続する必要があります。 Vue関連。ルーティング インスタンスを作成する前に、まずルーティング テーブルを作成して、さまざまなルーティング ルールを定義する必要があります。ルーティング テーブルはルーティング構成オブジェクトで構成される配列であり、各ルーティング構成オブジェクトにはルーティング パスと対応するコンポーネントが含まれます。
プロジェクトには、次のようなマルチレベルのルーティングの入れ子構造があるとします。
- Home - About - Contact - News - Detail
ルーティング テーブルに次のルーティング ルールを定義できます。
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 News from '@/components/News.vue' import Detail from '@/components/Detail.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/about', name: 'About', component: About, children: [ { path: 'contact', name: 'Contact', component: Contact } ] }, { path: '/news', name: 'News', component: News, children: [ { path: 'detail', name: 'Detail', component: Detail } ] } ] const router = new VueRouter({ mode: 'history', routes }) export default router
上記のルーティングでは、 table では、次のルーティング ルールを定義しました。
/
パスに対応するコンポーネントは、Home.vue/about## です。 # path 対応するコンポーネントは About.vue
パスに対応するコンポーネントは Contact.vue
ですパスに対応するコンポーネントは News.vue
パスに対応するコンポーネントは Detail.vue
975b587bf85a482ea10b0a28848e78a4#ラベル内の ##。 <pre class='brush:javascript;toolbar:false;'>import Vue from 'vue'
import App from './App.vue'
import router from './router'
Vue.config.productionTip = false
new Vue({
router,
render: h => h(App),
}).$mount('#app')</pre>
上記のコードでは、作成したルーティング インスタンスをルーター オプションを通じて Vue ルート インスタンスに挿入し、
app の DOM ノードにマウントします。
Vue コンポーネントで
コンポーネント
を使用します。 975b587bf85a482ea10b0a28848e78a4 コンポーネントを使用して、対応するルーティング コンポーネントをレンダリングできます。
<template> <div> <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-link to="/about/contact">Contact</router-link> <router-link to="/news">News</router-link> <router-link to="/news/detail">Detail</router-link> <hr> <router-view></router-view> </div> </template> <script> export default { name: 'App' } </script>
上記のコードでは、
b988a8fd72e5e0e42afffd18f951b277 コンポーネントを介して複数のルーティング ジャンプ リンクを定義し、それぞれ対応するパスにジャンプします。 975b587bf85a482ea10b0a28848e78a4 タグでは、Vue Router を使用して、対応するルーティング コンポーネントを動的にレンダリングします。
上記の手順を使用すると、Vue プロジェクトでマルチレベルのルーティングのネストとマッチングを実装できます。さまざまなルーティング リンクをクリックすると、ページは対応するルーティング コンポーネントをレンダリングして、ページの動的な切り替えとネストを実現します。
b988a8fd72e5e0e42afffd18f951b277
コンポーネントと975b587bf85a482ea10b0a28848e78a4 コンポーネントを使用してルーティング リンクのレンダリングを実装する方法も紹介しました。ルーティングコンポーネント。 Vue Router を使用してマルチレベルのルーティングのネストとマッチングを実装する際に、この記事が役立つことを願っています。
参考
Vue Routerの公式ドキュメント: https://router.vuejs.org/
以上がVue Router を使用してマルチレベルのルーティングのネストとマッチングを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。