Vue カプセル化 TabBar コンポーネントの完全なステップ記録

Vue カプセル化 TabBar コンポーネントの完全なステップ記録

実装のアイデア:

ステップ 1: TabBar と TabBarItem のコンポーネント カプセル化

この時点で、ページの基本的なレイアウトは実装されていますが、アイテムのクリックのアクティブ状態は実装されていないことがわかります。

ステップ2: アクティブな画像をTabBarItemに渡す

置き換えられたコンテンツがスロット全体を直接置き換えて、スロットに定義されたスタイルも置き換えられるのを防ぐには、スロットの外側にdivラッパーを定義するのが最適です。

ステップ3: TabBarItemとルーティングの組み合わせ

ステップ4: TabBarItemのカラーコントロール

基本的には完了していますが、ルート内のクリックパスを繰り返し実行するとエラーが発生することがわかりました

エラーの原因:

これは、vue-router ≥ 3.0 のコールバック形式が promise に変更されたためです。エラーがキャッチされない場合は、このようなエラー警告がコンソールに表示されます。

解決策1: vue-routerをバージョン3.0にダウングレードする

[email protected] を npm で実行します -S 

解決策2:

メソッドを呼び出すたびに catch を追加する必要がないように、ルーター プロトタイプ チェーンの push メソッドと replace メソッドを書き直します。

main.js に次の内容を記述します。

'vue-router' から Router をインポートします。
 
const originalPush = Router.prototype.push
Router.prototype.push = 関数push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  元のPush.call(this, location).catch(err => err) を返します
}

プッシュの変更がまだ有効にならない場合は、次の例のように、置換メソッドを試してください。

Router.prototype.replace をオーバーライドします。
Router.prototype.replace = 関数 replace(location) {
  originalReplace.call(this, location).catch(err => err) を返します。
};

フォントアイコンで実装

フォントアイコンの紹介

使用

要約する

これで、TabBar コンポーネントの vue カプセル化に関するこの記事は終了です。TabBar コンポーネントの vue カプセル化に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueはタブルーティング切り替えコンポーネントのメソッド例を実装します
  • Vue.js モバイルタブコンポーネントのカプセル化実践例
  • Vueコンポーネントタブバーの使い方の詳細な説明
  • Vueはコンポーネントルーティングジャンプメソッドを使用してタブバーコンポーネントをカプセル化します

<<:  HTML テーブル境界制御実装コード

>>:  4つの柔軟なScssコンパイル出力スタイル

推薦する

JavaScript を使用して二分探索木を実装する方法

コンピュータ サイエンスで最も一般的に使用され、議論されているデータ構造の 1 つは、二分探索木です...

HTML ファイルにファイルの内容を含める方法の概要

フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...

Nginx の高同時実行最適化の実践

1. チューニングの必要性​ 私は、どのように書けばいいのか本当に分からないので、共有するために最適...

ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

docker によってプルされたコマンドは、デフォルトでは /var/lib/docker/ フォル...

MySQL 5.7.18 zip バージョンのインストールと設定方法のグラフィック チュートリアル (win7)

Windows に mysql5.7.18zip バージョンをインストールするには、使用前に解凍し...

MySQL 5.7.18 無料インストールバージョンの設定チュートリアル

MySQL 5.7.18 無料インストール版のインストールチュートリアルMySQL は現在、世界で最...

MySQLデータベースの数千万件のデータクエリとストレージの詳細な説明

目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...

CSSは高さと幅を固定した要素の比例表示効果を実現します

padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...

記事では、js を使用して弾幕効果を実現する方法を説明します

目次新しい HTML ファイルを作成します。初期テンプレートを作成するHTML の追加CSS パディ...

Docker Toolboxを完全にアンインストールする方法

Docker Toolbox は、Windows 10 Professional より前のバージョン...

CSS を使用して同じ親タグの左側と右側に 2 つのボタンを配置する方法

この記事では、主に同じ親タグの左側と右側にある 2 つのボタンの CSS レイアウト方法を紹介し、皆...

RGBAアルファ透明度変換計算表

IEでのRGBAとフィルター値の変換RGBA 透明度値IE フィルター値0.1 19 0.2 33 ...

ブルートフォース攻撃を防ぐためのシェルスクリプト設定

シェルスクリプトはアクセス制御を設定し、複数回のログイン失敗後にIPをブロックしてSSHのブルートフ...

MySQL双方向バックアップの実装方法

MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...