Vueはユーザーログイン切り替えを実装します

Vueはユーザーログイン切り替えを実装します

この記事では、ユーザーのログイン切り替えを実現するためのVueの具体的なコードを例として紹介します。具体的な内容は以下のとおりです。

切り替えには問題がある

コード

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
    <div id="アプリ">
        <span v-if="isUser">
            <label for="username">ユーザーアカウント</label>
            <input type="text" id="ユーザー名" placeholder="ユーザーアカウント">
        </span>
        <span v-else>
            <label for="email">ユーザー メールボックス</label>
            <input type="text" id="email" placeholder="ユーザーのメールアドレス">
        </span>
        <button @click="isUser = !isUser">スイッチタイプ</button>
    </div>
    <script src="../js/vue.js"></script>
    <スクリプト>
        constアプリ = 新しいVue({
            el: '#app',
            データ: {
                ユーザー: true
            }
        })

    </スクリプト>
</本文>
</html>

エフェクト表示

問題

  • コンテンツを入力中にタイプを切り替えると、テキストには以前に入力したコンテンツが引き続き表示されます。
  • しかし、論理的に言えば、別の入力要素に切り替える必要があります。
  • 他の入力要素には、何もコンテンツを入力しませんでした。

なぜこの問題が発生するのでしょうか?

これは、Vue がDOM をレンダリングするときに、パフォーマンス上の理由から、新しい要素を作成するのではなく、既存の要素を可能な限り再利用するためです。
上記の場合、Vue は元の入力要素が使用されなくなり、 else の入力として直接使用されていることを検出します。

解決

  • 対応する入力にキーを追加する
  • キーが異なることを確認してください

完璧版ログイン例

入力に異なるキーを追加する

コード

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
    <div id="アプリ">
        <span v-if="isUser">
            <label for="username">ユーザーアカウント</label>
            <input type="text" id="ユーザー名" placeholder="ユーザーアカウント" key="ユーザー名">
        </span>
        <span v-else>
            <label for="email">ユーザー メールボックス</label>
            <input type="text" id="email" placeholder="ユーザーのメールアドレス" key="email">
        </span>
        <button @click="isUser = !isUser">スイッチタイプ</button>
    </div>
    <script src="../js/vue.js"></script>
    <スクリプト>
        constアプリ = 新しいVue({
            el: '#app',
            データ: {
                ユーザー: true
            }
        })

    </スクリプト>
</本文>
</html>

エフェクト表示

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueは長時間操作していないユーザー向けに自動ログイン・ログアウト機能を実装
  • Vueはユーザーログインモードの切り替え機能を実装します
  • Django RESTフレームワークvueはユーザーログインの詳細を実装します
  • VueプロジェクトはlocalStorage+Vuexを使用してユーザーのログイン情報を保存します
  • vue-router beforeEach ジャンプルートでユーザーのログイン状態を確認する
  • Vue が Cookie を通じてユーザーのログイン情報を取得する方法の詳細な説明
  • vue-router beforEachを使用して、ユーザーログインジャンプルートフィルタリングを判断する機能を実装する
  • vueルーティングジャンプ時にユーザーがログインしているか判断する実装
  • Vue でユーザーのログイン状態を保存するためのサンプルコード
  • Vue.jsは、ユーザーコメント、ログイン、登録、情報変更機能を実装します。

<<:  VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

>>:  VirtualBox でのホストオンリー + NAT モードのネットワーク構成

推薦する

divの背景を透明に設定する方法の例

div の背景を透明にする一般的な方法は 2 つあります。 1. 不透明度属性を 0 ~ 1 の値に...

Nginx サーバーの https 設定方法の例

Linux: Linux バージョン 3.10.0-123.9.3.el7.x86_64 ngin...

Nginx ロケーション設定(ロケーションのマッチング順序)の詳細な説明

ロケーションは「位置指定」を意味し、主にさまざまな位置指定のための URI に基づいています。これは...

TeamCenter12 にログインする際の 404/503 問題の解決方法

TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...

Linux ドライバ開発でよく使われる関数 copy_from_user open read write の詳細な説明

目次Linux ドライバーの共通機能 (copy_from_user open read write...

Angularの単一プロジェクトを複数プロジェクトにアップグレードするプロセス全体

目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...

MySQLデータベースに画像を保存するいくつかの方法

通常、ユーザーがアップロードした写真はデータベースに保存する必要があります。一般的に、解決策は 2 ...

Linux/CentOS サーバー セキュリティ構成の一般ガイド

Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

MySQL トランザクションと分離レベルの基本原理の簡単な分析

目次序文1. 取引の基本原則の簡単な分析原子性:持続性分離:一貫性: 2. 分離レベルの基本原理の分...

Ubuntu 18.04 で MySQL のインストール時にパスワードが要求されない場合の解決方法

Ubuntu 1804 への MySQL 5.7 のインストールについて詳しく紹介します。 MySQ...

HTML Selectは、デフォルトの選択を設定するためにselected属性を使用します。

オプションに属性 selected = "selected" を追加すると、それ...

JavaScript における async と await の使い方とメソッド

JS の async 関数と await キーワード 関数ヘルワールド() { 「こんにちは!美しい...

Vue3の組み込みコンポーネントであるTeleportの使い方を詳しく説明します

目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...