vue3 で vue-router を使用するための完全な手順

vue3 で vue-router を使用するための完全な手順

序文

ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vue Router の新しいバージョンはアルファ段階にあり、次のバージョンの Vue でどのように動作するかをすでに確認し始めています。

Vue3 の変更点の多くは、プラグインやライブラリにアクセスする方法を若干変更しますが、これには Vue Router も含まれます。

1. ステップ1: vue-routerをインストールする

[email protected] をインストールします

2. ステップ2: main.js

まず、vue2 と vue3 の main.js の違いを比較してみましょう。(最初のものは vue2、2 番目は vue3)

vue2 でよく使う Vue オブジェクトが、createApp メソッドを直接使用したため、vue3 では「消えた」ことがはっきりとわかりますが、実際には createApp メソッドで作成されたアプリは Vue オブジェクトです。vue2 でよく使用される Vue.use() は、vue3 では app.use() に置き換えて正常に使用できます。vue3 の main.js ファイルでは、vue-router を使用して app.use() メソッドでルーターを直接呼び出します。

注: ルート ファイルによってエクスポートされたルート名を「ルート ファイルの相対パスに対応する」からインポートします。プロジェクト ディレクトリは次のようになります (vue2 と vue3 で同じ)。

3. ルーティングファイル

「vue-router」から {createRouter、createWebHashHistory} をインポートします。

定数ルート = [
    {
        パス: '/'、
        コンポーネント: () => import('@/pages')             
    },
    {
        パス: '/test1',
        名前: "test1",
        コンポーネント: () => import('@/pages/test1')   
    },
    {
        パス: '/test2',
        名前: "test2",
        コンポーネント: () => import('@/pages/test2')   
    },
]
エクスポートconst router = createRouter({
  履歴: createWebHashHistory(),
  ルート: ルート
})

デフォルトルーターをエクスポートする

4. アプリ

<テンプレート>
  <ルータービュー></ルータービュー>
</テンプレート>

<スクリプト>

エクスポートデフォルト{
  名前: 'アプリ'、
  コンポーネント:
  }
}
</スクリプト>

<スタイル>
#アプリ {
  フォントファミリー: Avenir、Helvetica、Arial、sans-serif;
  -webkit-font-smoothing: アンチエイリアス;
  -moz-osx-font-smoothing: グレースケール;
  テキスト配置: 中央;
  色: #2c3e50;
  上マージン: 60px;
}
</スタイル>

4. 使用(ジャンプなど)

ルーティングが必要な場所にuseRouteとuseRouterを導入します(vue2の$routeと$routerに相当)

<スクリプト>
'vue-router' から { useRoute, useRouter } をインポートします。
エクスポートデフォルト{
  設定 () {
    定数ルート = useRoute()
    定数ルーター = useRouter()
    戻る {}
  },
}

例: ページジャンプ

<テンプレート>
  <h1>私はtest1です</h1>
  <button @click="toTest2">toTest2</button>
</テンプレート>
<スクリプト>
'vue-router' から { useRouter } をインポートします。
エクスポートデフォルト{
  設定 () {
    定数ルーター = useRouter()
    定数toTest2 = (() => {
      ルータ.push("./test2")
    })
    戻る {
      トテスト2
    }
  },
}
</スクリプト>
<スタイルスコープ>
</スタイル>

要約する

これで、vue-router を使用した vue3 に関するこの記事は終了です。vue-router を使用した vue3 に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue でルーターのグローバル ガードを使用してページ インターセプションを実装する例
  • vue-router の権限制御 (簡単な方法)
  • vue-routerはルーティング権限の実装を制御します
  • Vue3はvue-routerとルーティング許可インターセプションメソッドを使用します

<<:  Centos7にTenda U12ワイヤレスネットワークカードドライバーをインストールする際の問題を解決する

>>:  MySQL Limitパフォーマンス最適化とページングデータパフォーマンス最適化の詳細な説明

推薦する

geo モジュールを使用して Nginx でホワイトリストを設定する例

元の構成: http { ...... limit_conn_zone $binary_remote...

デザイン参考 WordPressウェブサイト構築成功事例

これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...

HTMLでカスタムタグを使用する方法

カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...

Vue2とVue3のライフサイクルの比較の詳細な理解

目次サイクル比較使用法要約するサイクル比較ヴュー2ヴュー3作成前設定作成された設定マウント前マウント...

jQueryは、マウスをドラッグしてdivの位置とサイズを変更する方法を実装しています。

Windows フォームと同様の効果を得るには、中央をドラッグして div の位置を変更し、端をド...

LinuxベースのLVMシームレスディスク水平拡張の詳細な説明

環境名前財産CPU 5650 円メモリ4Gディスク20G+4TB この時点で、サーバーにはすでに次の...

dockerコマンドの使用にはsudoは必要ありません

docker デーモンは通常の TCP ポートではなくホストの Unix ソケットにバインドする必要...

Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法

Node.js環境でテストが通っています。他の言語でも同様です。環境変数を取得する方法を使うだけです...

制限を使用すると、MySQL のページングがどんどん遅くなるのはなぜですか?

目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...

Vue3 のレンダリング関数における互換性のない変更の詳細な説明

目次レンダリングAPIの変更レンダリング関数のパラメータレンダリング関数のシグネチャの変更VNode...

CSS でコンテンツが長すぎる問題を解決する方法の詳細な説明

CSS を記述するときに、デザインに存在する重要なケースを忘れてしまうことがあります。たとえば、コン...

ローカルのMySQLをサーバーデータベースに移行する方法

Linux の scp コマンド (Windows では scp は使用できません) と、mysql...

iframeを指すaタグのターゲットの名前とIDの違い

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

Linux CentOS 7.4 で mysql5.7.20 のパスワードを変更する方法

MySQL がバージョン 5.7 にアップグレードされた後、セキュリティが大幅に向上しました。しかし...