この記事では、Vue3 のルーティングについて説明し、ルーティングの基本構成、動的ルーティング構成、ルーティング モード、ルーティング リダイレクトなどについて説明します。お役に立てば幸いです。
[関連する推奨事項:「vue.js チュートリアル 」]
ルーティングの基本構成
1.プラグイン
npm install vue-router@next --save
2をインストールし、routers.tsファイル
3を作成し、routers.tsにコンポーネントを導入してパスを設定します。
import { createRouter,createWebHashHistory } from 'vue-router'; // 引入组件 import Home from './components/Home.vue'; import News from './components/News.vue'; import User from './components/User.vue'; const router = createRouter({ history: createWebHashHistory(), routes: [ {path: '/', component: Home}, {path: '/news', component: News}, {path: '/user', component: User}, ] }) export default router;
4. ルーティング ファイルを main.ts の vue にマウントします。
import { createApp } from 'vue' import App from './App.vue' import routers from './routers'; // createApp(App).mount('#app') const app = createApp(App); app.use(routers); app.mount('#app');
5. ルーティングを使用するコンポーネントが router-view コンポーネントまたは router-link
<template> <img src="/static/imghwm/default1.png" data-src="./assets/logo.png" class="lazy" alt="Vue logo" > <ul> <li> <router-link to="/">首页</router-link> </li> <li> <router-link to="/news">新闻</router-link> </li> <li> <router-link to="/user">用户</router-link> </li> </ul> <router-view></router-view> </template>
を介して router-link をマウントした後は、対応するページ パスに移動するだけで済みます。指定したルートを入力するとジャンプが完了し、router-linkはジャンプ用のタグの形でルーティングを実装します。
動的ルーティングの設定
routes.ts で次のようにルーティングを設定し、/:aid で動的ルーティングを設定します。
//配置路由 const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/', component: Home , alias: '/home' }, { path: '/news', component: News }, { path: '/user', component: User }, { path: '/newscontent/:aid', component: NewsContent }, ], })
ルーターリンクを経由する場合は、テンプレート文字列とコロン + to が必要です。
<ul> <li v-for="(item, index) in list" :key="index"> <router-link :to="`/newscontent/${index}`"> {{item}}</router-link> </li> </ul>
this.$route.params を通じて動的ルーティングによって渡される値を取得します。
mounted(){ // this.$route.params 获取动态路由的传值 console.log(this.$route.params) }
GET と同様の値の転送を実現したい場合は、次の方法を使用できます
1. ルートを通常のルートとして設定します。
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/', component: Home , alias: '/home' }, { path: '/news', component: News }, { path: '/user', component: User }, { path: '/newscontent', component: NewsContent }, ], })
2. ルーターリンクは疑問符の形でジャンプします。
<router-link :to="`/newscontent?aid=${index}`"> {{item}}</router-link>
3. this.$route.query を通じて get 値を取得します。
console.log(this.$route.query);
プログラムによるナビゲーションのルーティング (JS ジャンプ ルーティング)
this.$router.push で指定するだけです。
this.$router.push({ path: '/home' })
取得値の転送を実装したい場合は、次のメソッドを使用できます。
this.$router.push({ path: '/home', query: {aid: 14} }) }
動的ルーティングでは次の方法を使用する必要があります。
this.$router.push({ path: '/home/123', // query: {aid: 14} })
ルーティング モード
ハッシュ モード
ハッシュ モードの一般的な特徴は、ページ ルーティングにシャープ記号が含まれていることです。 。
const router = createRouter({ history: createWebHashHistory(), routes: [ ..., ], })
HTML5 履歴モード
createWebHistory を導入します。
ルーターの構成項目の履歴属性は、createWebHistory() に設定されます。
import { createRouter, createWebHistory } from 'vue-router' //配置路由 const router = createRouter({ history: createWebHistory(), routes: [ ... ], })
注: HTML5 履歴モードをオンにした後、サーバーに公開するときに擬似静的を構成する必要があります。
擬似静的メソッドの構成:
https://router.vuejs.org/zh/guide/essentials/history-mode.html#バックエンド構成例
名前付きルーティング
一般的な状況
ルートを定義するときに名前属性を構成します
{ path: '/news', component: News,name:"news" }
jump にオブジェクトを渡します
<router-link :to="{name: 'news'}">新闻</router-link>
GET を通じて値を渡します
ルートを定義し、名前属性を設定します。
{ path: '/newscontent', component: NewsContent, name: "content" },
クエリを含むオブジェクトを渡します。
<li v-for="(item, index) in list" :key="index"> <router-link :to="{name: 'content',query: {aid: index}}"> {{item}}</router-link> </li>
Through動的ルーティングのメソッド
動的ルーティングを定義し、名前属性を指定します
{ path: '/userinfo/:id', name: "userinfo", component: UserInfo }
を含むオブジェクトを渡しますparams
<router-link :to="{name: 'userinfo',params: {id: 123}}">跳转到用户详情</router-link>
プログラムによるルーティング
は、上記のメソッドとよく似ています。
<button @click="this.$router.push({name: 'userinfo',params: {id: 666}})">点击跳转</button>
ルート リダイレクト
{ path: '', redirect: "/home" }, // 路由重定向 { path: '/home', component: Home },
ルート エイリアス
次の例では、people ルートへのアクセスは、エイリアス ルートへのアクセスと同じです。
{ path: '/user', component: User, alias: '/people' }
エイリアスは配列にすることもできます。
{ path: '/user', component: User, alias: ['/people','/u']}
動的ルーティングの形式。
{ path: '/userinfo/:id', name: "userinfo", component: UserInfo, alias: '/u/:id' }
ネストされたルーティング
ネストされたルーティングのアプリケーション シナリオは通常、ナビゲーション バーにあります。
- #ネストされたルートを定義する
{ path: '/user', component: User, children: [ { path: '', redirect: "/user/userlist" }, { path: 'userlist', component: UserList }, { path: 'useradd', component: UserAdd } ] }
- router-link と router-view の表示コンテンツを一緒に表示する
<div class="left"> <ul> <li> <router-link to="/user/userlist">用户列表</router-link> </li> <li> <router-link to="/user/useradd">增加用户</router-link> </li> </ul> </div> <div class="right"> <router-view></router-view> </div>プログラミング関連の知識について詳しくは、
プログラミング入門をご覧ください。 !
以上がVue3 のルーティングについて説明し、ルーティングの構成方法を簡単に分析しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Web開発におけるVue.jsの役割は、開発プロセスを簡素化し、効率を向上させるプログレッシブJavaScriptフレームワークとして機能することです。 1)開発者は、レスポンシブデータのバインディングとコンポーネント開発を通じてビジネスロジックに集中できるようになります。 2)VUE.JSの作業原則は、パフォーマンスを最適化するためにレスポンシブシステムと仮想DOMに依存しています。 3)実際のプロジェクトでは、VUEXを使用してグローバルな状態を管理し、データの応答性を最適化することが一般的な慣行です。

Vue.jsは、2014年にYou YuxiがリリースしたプログレッシブJavaScriptフレームワークで、ユーザーインターフェイスを構築します。その中心的な利点には、次のものが含まれます。1。レスポンシブデータバインディング、データ変更の自動更新ビュー。 2。コンポーネントの開発では、UIは独立した再利用可能なコンポーネントに分割できます。

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1)Reactのコンポーネント開発モデルと強力なエコシステムが、Netflixがそれを選択した主な理由です。 2)コンポーネント化により、Netflixは複雑なインターフェイスをビデオプレーヤー、推奨リスト、ユーザーコメントなどの管理可能なチャンクに分割します。 3)Reactの仮想DOMおよびコンポーネントライフサイクルは、レンダリング効率とユーザーインタラクション管理を最適化します。

Netflixのフロントエンドテクノロジーでの選択は、主にパフォーマンスの最適化、スケーラビリティ、ユーザーエクスペリエンスの3つの側面に焦点を当てています。 1。パフォーマンスの最適化:Netflixは、Reactをメインフレームワークとして選択し、SpeedCurveやBoomerangなどのツールを開発して、ユーザーエクスペリエンスを監視および最適化しました。 2。スケーラビリティ:マイクロフロントエンドアーキテクチャを採用し、アプリケーションを独立したモジュールに分割し、開発効率とシステムのスケーラビリティを改善します。 3.ユーザーエクスペリエンス:Netflixは、Material-UIコンポーネントライブラリを使用して、A/Bテストとユーザーフィードバックを介してインターフェイスを継続的に最適化して、一貫性と美学を確保します。

netflixusesaCustomframeworkは、「ギボン」ビルトンリアクト、notreactorvuedirectly.1)チームエクスペリエンス:seice basedonfamperivity.2)projectomplerprojects:vueforsplerprojects、racefforcomplexones.3)customeforsneeds:reactofforsmorefloficailie.

Netflixは、主に、パフォーマンス、スケーラビリティ、開発効率、エコシステム、技術的な負債、およびフレームワーク選択におけるメンテナンスコストを考慮しています。 1。パフォーマンスとスケーラビリティ:JavaとSpringbootが選択され、大規模なデータと高い同時リクエストを効率的に処理します。 2。開発効率とエコシステム:Reactを使用して、フロントエンド開発効率を向上させ、その豊富なエコシステムを利用します。 3.技術的な負債とメンテナンスコスト:node.jsを選択してマイクロサービスを構築して、メンテナンスコストと技術的債務を削減します。

Netflixは、主にReactをフロントエンドフレームワークとして使用し、特定の機能のためにVUEによって補足されます。 1)Reactのコンポーネント化と仮想DOMは、Netflixアプリケーションのパフォーマンスと開発効率を向上させます。 2)VueはNetflixの内部ツールと小規模プロジェクトで使用されており、その柔軟性と使いやすさが重要です。

Vue.jsは、複雑なユーザーインターフェイスを構築するのに適した進歩的なJavaScriptフレームワークです。 1)そのコア概念には、レスポンシブデータ、コンポーネント、仮想DOMが含まれます。 2)実際のアプリケーションでは、TODOアプリケーションを構築し、Vuerouterを統合することで実証できます。 3)デバッグするときは、vuedevtools and Console.logを使用することをお勧めします。 4)パフォーマンスの最適化は、V-IF/V-Show、リストレンダリング最適化、コンポーネントの非同期負荷などを通じて達成できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

メモ帳++7.3.1
使いやすく無料のコードエディター

WebStorm Mac版
便利なJavaScript開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
