ホームページ > ウェブフロントエンド > Vue.js > Vue Router を使用してページ間の対話と通信を実現するにはどうすればよいですか?

Vue Router を使用してページ間の対話と通信を実現するにはどうすればよいですか?

PHPz
リリース: 2023-07-21 18:41:10
オリジナル
1060 人が閲覧しました

Vue Router を使用してページ間の対話と通信を実現するにはどうすればよいですか?

Vue Router は、Vue.js の公式ルーティング管理ツールで、SPA (シングル ページ アプリケーション) アプリケーションを構築し、ページ間の対話と通信を簡単に実現するのに役立ちます。この記事では、Vue Router を使用してページ間の対話と通信を実装する方法を学び、いくつかのコード例を示します。

Vue ルーターとは何ですか?

Vue Router は、Vue.js に基づく公式ルーティング マネージャーであり、SPA アプリケーションにルーティング機能を実装するために使用されます。 Vue Router を通じて、ルーティング ルールを定義し、そのルールに従ってページ ジャンプやコンポーネントの読み込みを実行できます。

Vue Router のインストールと構成

まず、npm 経由で Vue Router をインストールする必要があります:

npm install vue-router
ログイン後にコピー

インストールが完了したら、Vue をエントリ ファイルに導入する必要がありますVue プロジェクト Router の基本設定を実行します。以下に示すように:

// main.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'

Vue.use(VueRouter)

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About },
  // 其他路由规则
]

const router = new VueRouter({
  routes
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
ログイン後にコピー

上記のコードでは、まず Vue と VueRouter を導入し、Vue.use(VueRouter) を通じて Vue Router プラグインを有効にします。次に、ルーティング ルールを含む routes 配列を定義します。

Vue インスタンスを作成するときは、router オブジェクトを渡し、コンポーネント内で <router-view></router-view> タグを使用します。対応するコンポーネントを表示します。

ルート ジャンプ

Vue Router は、ルート ジャンプを実装する 2 つの方法、宣言型ナビゲーションとプログラムによるナビゲーションを提供します。

宣言型ナビゲーション

テンプレートでは、<router-link> タグを使用して、宣言的に他のページに移動できます。例:

<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
ログイン後にコピー

プログラムによるナビゲーション

Vue インスタンスのメソッドでルーティング ジャンプが必要な場合は、$router オブジェクトを使用してプログラムによるナビゲーションを実装できます。例:

// 在某个方法中进行路由跳转
this.$router.push('/')
this.$router.push('/about')
ログイン後にコピー

ルーティング パラメータ

特定のパラメータに基づいてルートを動的に生成する必要がある場合があります。 Vue Router は、ルーティング パラメーターを通じてこの機能を実装できます。

パラメータを使用してルートを定義する

ルーティング ルールでは、コロンを使用してパラメータを使用してルートを定義できます。たとえば、動的な ID を使用してルートを定義できます。

const routes = [
  { path: '/user/:id', component: User }
]
ログイン後にコピー

Get Routeparameters

コンポーネントでは、this.$route.params を通じてルートを取得できます。ルーティングパラメータ。例:

// 在User组件中获取路由参数
mounted() {
  console.log(this.$route.params.id)
}
ログイン後にコピー

ネストされたルーティング

Vue Router はネストされたルーティングの機能もサポートしており、コンポーネントに他のサブコンポーネントをロードできるようになります。ネストされたルーティングを通じて、マルチレベルのコンポーネント構造を構築できます。

ネストされたルートを定義する

ルーティング ルールでは、children 属性を使用してネストされたサブルートを定義できます。例:

const routes = [
  {
    path: '/user',
    component: User,
    children: [
      { path: 'profile', component: UserProfile },
      { path: 'settings', component: UserSettings }
    ]
  }
]
ログイン後にコピー

コンポーネントへの子コンポーネントのロード

親コンポーネントのテンプレートで、<router-view> タグを使用して子コンポーネントをロードできます。成分。親コンポーネントは、子コンポーネントのコンテナとして機能します。

<template>
  <div>
    <h2>User</h2>
    <router-view></router-view>
  </div>
</template>
ログイン後にコピー

ルート間の通信

実際の開発では、異なるページ間でデータを共有して通信する必要があることがよくあります。 Vue Router は、ルート間の通信を実装するためのいくつかのメカニズムを提供します。

ルーティング パラメーター

前述したように、ルーティング パラメーターを介してデータを渡し、異なるページ間でデータを渡すことができます。前の例では、ルーティング パラメーターとしてユーザー ID を使用しました。

ルーティング フック

Vue Router のルーティング フック機能は、データの取得やジャンプ検証など、ルートを切り替えるときにいくつかの操作を実行するのに役立ちます。

// 全局前置守卫
router.beforeEach((to, from, next) => {
  // 在跳转前执行的操作
  next()
})

// 全局后置钩子
router.afterEach((to, from) => {
  // 在跳转完成后执行的操作
})
ログイン後にコピー

グローバル ルーティング フックに加えて、コンポーネント内でコンポーネント内ルーティング フックを使用することもできます。たとえば、コンポーネントに beforeRouteEnter フック関数を定義して、データを取得する前に検証操作を実行します。

const User = {
  beforeRouteEnter(to, from, next) {
    // 在获取数据之前进行验证操作
    next()
  }
}
ログイン後にコピー

概要

この記事の導入部を通じて、Vue Router を使用してページ間の対話と通信を実現する方法を学びました。 Vue Router をインストールして構成する方法を学び、ルート ジャンプ、ルート パラメーター、ネストされたルート、ルート間の通信を示すコード例を提供しました。この記事が Vue Router を使用する際のお役に立てれば幸いです。

以上がVue Router を使用してページ間の対話と通信を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート