Vue は、ページの右上隅にフローティング/非表示のシステム メニューを実装します。

不言
リリース: 2018-05-05 10:54:17
オリジナル
2151 人が閲覧しました

この記事では主に、ページの右上隅に一時停止/非表示にできるシステム メニューを実装するための Vue を紹介します。実装のアイデアは、ブール値 showCancel を props を通じて子コンポーネントに渡し、イベントを親コンポーネントにバインドすることです。それぞれの子コンポーネントでシステム メニューの表示ステータスを制御します。必要な友達はそれを参照してください

これは、ほとんどの Web サイトで非常に一般的な機能です。ページの右上隅にあるアバターをクリックしてフローティング メニューを表示するか、アバターをもう一度クリックしてメニューを非表示にします。メニュー。

jQuery フロントエンドの包囲ライオンとしては、この機能の実装は非常に簡単であると言えますが、vue ドキュメントをざっと見ただけの初心者にとっては、まだ個人的に落とし穴を踏む必要があります成功するために。

知識ポイント

  • コンポーネントとコンポーネント間通信

  • 計算されたプロパティ

テキスト

1親コンポーネント

これにはシステムのみが関係します現時点ではメニュー この機能はまだルーティングの対象になっていません。

基本的な考え方は、props を通じて showCancel のブール値を子コンポーネントに渡し、イベントを親コンポーネントと子コンポーネントにそれぞれバインドして、システム メニューの表示状態を制御するというものです。親コンポーネントのバインドされたクリック イベントでは、子コンポーネントに渡される showCancel 値がリセットされます。

これには、最初の小さな知識ポイント、つまりサブコンポーネントの呼び出しが含まれます:

まず、サブコンポーネントのレンダリングを待機するカスタム要素を書き込みます:

<t-header :showCancel=showCancel></t-header>
ログイン後にコピー

次に、書き込まれたサブコンポーネントをインポートします:

import THeader from "./components/t-header/t-header";
ログイン後にコピー

その後、登録しますコンポーネント内のサブコンポーネント:

components: {
 THeader
}
ログイン後にコピー

この時点で、新入生は、これらのコード行がサブコンポーネントを タグにどのようにマップするかについて混乱するかもしれません。公式のドキュメントには次のように書かれています。 :

コンポーネント (またはプロップ) を登録するときは、ケバブケース (ダッシュ区切りの名前)、キャメルケース (キャメルケースの名前)、またはパスカルケース (単語の最初の文字を大文字にした名前) を使用できます。テンプレートは、kebab-case を使用してください。

私の理解では、(たとえば) カスタム要素が の場合、登録されたコンポーネント名は t-header、tHeader、THeader の 3 つの方法で記述できます。この場合、登録されたコンポーネントは自動的に認識され、 にレンダリングされます。

上記は HTML テンプレートであり、単一ファイル コンポーネントの