この記事では、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 サイトの他の関連記事を参照してください。

henthevuue.jsvirtualdomdetectsachange、itupdatesthevirtualdom、diffsit、およびAppliesminimalchangestothestotoreldom。

Vue.jsのVirtualdomは、実際のDomの鏡であり、正確ではありません。 1.作成と更新:Vue.jsは、コンポーネントの定義に基づいてVirtualdomツリーを作成し、まず状態が変更されたときにVirtualDomを更新します。 2。違いとパッチング:DIFF操作による古い仮想ドームと新しい仮想ドミーの比較、そして最小変更のみを実際のDOMに適用します。 3。効率:VirtualDomは、バッチの更新を許可し、直接DOM操作を削減し、レンダリングプロセスを最適化します。 VirtualDomは、Vue.jsがUIの更新を最適化するための戦略的ツールです。

Vue.jsとReactはそれぞれ、スケーラビリティと保守性に独自の利点があります。 1)Vue.jsは使いやすく、小規模プロジェクトに適しています。構成APIは、大規模なプロジェクトの保守性を向上させます。 2)Reactは、フックと仮想DOMがパフォーマンスと保守性を向上させる大規模で複雑なプロジェクトに適していますが、学習曲線は急です。

Vue.jsとReactの将来の傾向と予測は次のとおりです。1)Vue.jsはエンタープライズレベルのアプリケーションで広く使用され、サーバー側のレンダリングおよび静的サイト生成でブレークスルーを行いました。 2)Reactは、サーバーコンポーネントとデータ収集で革新され、並行性モデルをさらに最適化します。

Netflixのフロントエンドテクノロジースタックは、主にReactとReduxに基づいています。 1.反応は、高性能のシングルページアプリケーションを構築するために使用され、コンポーネント開発を通じてコードの再利用性とメンテナンスを改善します。 2。国家管理には、状態の変更が予測可能で追跡可能であることを確認するために、国家管理に使用されます。 3.ツールチェーンには、コードの品質とパフォーマンスを確保するために、Webpack、Babel、Jest、および酵素が含まれています。 4.パフォーマンスの最適化は、ユーザーエクスペリエンスを向上させるためのコードセグメンテーション、怠zyな読み込み、サーバー側のレンダリングを通じて達成されます。

Vue.jsは、非常にインタラクティブなユーザーインターフェイスを構築するのに適したプログレッシブフレームワークです。そのコア機能には、レスポンシブシステム、コンポーネント開発、ルーティング管理が含まれます。 1)レスポンシブシステムは、Object.DefinePropertyまたはプロキシを介したデータ監視を実現し、インターフェイスを自動的に更新します。 2)コンポーネント開発により、インターフェイスを再利用可能なモジュールに分割できます。 3)Vuerouterは、ユーザーエクスペリエンスを向上させるための単一ページアプリケーションをサポートしています。

vue.jsの主な欠点には次のものが含まれます。1。エコシステムは比較的新しいものであり、サードパーティのライブラリとツールは他のフレームワークほど豊富ではありません。 2。複雑な関数では、学習曲線が急になります。 3.コミュニティのサポートとリソースは、反応や角度ほど広範ではありません。 4.パフォーマンスの問題は、大規模なアプリケーションで発生する可能性があります。 5。バージョンのアップグレードと互換性の課題が大きくなります。

Netflixは、Reactをフロントエンドフレームワークとして使用します。 1.反応のコンポーネント開発と仮想DOMメカニズムは、パフォーマンスと開発効率を向上させます。 2。WebpackとBabelを使用して、コードの構築と展開を最適化します。 3.パフォーマンスの最適化のために、コードセグメンテーション、サーバー側のレンダリング、キャッシュ戦略を使用します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
