Vue でのルーティングの使用法

Vue でのルーティングの使用法

Vue のルーティングとは、URL パスを対応するコンポーネントにバインドするメカニズムを指します。Vue は、公式ルーティング プラグイン Vue Router を提供します。これは、シングルページ アプリケーションのページ ジャンプと URL 管理を実装するために特別に使用され、WebApp の構築やページ間のナビゲーションの管理によく使用されます。

Vueルーターのインストール

Vue Router を使用する前に、まず Vue Router をインストールする必要があります。Vue Router は、npm コマンドを使用してインストールできます。

npm install vue-router@next

ルーターインスタンスを作成する

app.js で Router インスタンスを作成します。

import {
    
     createRouter, createWebHistory } from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'

const routes = [
  {
    
     path: '/', component: Home },
  {
    
     path: '/about', component: About },
]

const router = createRouter({
    
    
  history: createWebHistory(),
  routes,
})

createRouter は、ルーティング インスタンスを作成するためのファクトリ関数です。パラメータとしてオプション オブジェクトを受け入れます。ここで、history 属性はルーティング モードを指定し、createWebHistory は HTML5 履歴 API のルーティング モードを使用します。ルート属性は、さまざまなルーティング設定を含む配列であり、各ルーティング設定オブジェクトには、ルーティング アドレスと対応するコンポーネントをそれぞれ表すパス属性とコンポーネント属性が含まれます。

ルータービューを使用する

Vue Router で使用されるコア コンポーネントは router-view で、app.vue で次のように使用できます。

<template>
  <div>
    <h1>Vue Router Demo</h1>
    <router-view></router-view>
  </div>
</template>

ルーターリンクを使用する

Vue Router のコア コンポーネントの 1 つは router-link で、これはルーティング ジャンプのためのナビゲーション リンクを実装するために使用されます。次のようなページで使用できます。

<template>
  <div>
    <h1>About Page</h1>
    <p>This is the about page.</p>
    <router-link to="/">Go back to Home</router-link>
  </div>
</template>

このうち、to属性はジャンプ先のルーティングパスを示します。

パラメータを使用したルート

多くの場合、ルート内でユーザー ID や製品 ID などのパラメーターを渡す必要があります。次のようにルート パラメーターを使用できます。

const routes = [
  {
    
     path: '/', component: Home },
  {
    
     path: '/user/:id', component: User },
]

ルーティング アドレスに「:id」を追加します。これは、/user/ にジャンプした後にパラメータ ID を追加することを意味します。このパラメータは、コンポーネントの $route.params.id を通じて取得できます。

ナビゲーションガード

Vue Router は、ルーティング インターセプトやページ アクセス制御などに使用できる、beforeEach、beforeResolve、afterEach など、ルーティング ジャンプの動作を制御するいくつかのナビゲーション ガードを提供します。

router.beforeEach((to, from, next) => {
    
    
  // 在跳转之前进行一些处理
  if (to.meta.requiresAuth && !user.isAuthenticated) {
    
    
    next('/login')
  } else {
    
    
    next()
  }
})

以上がルーティングモジュールの主な内容ですが、Vue Router が提供する機能は非常に豊富で、さまざまなシナリオのニーズに対応できます。

おすすめ

転載: blog.csdn.net/weixin_46286150/article/details/129946315