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 モードのネットワーク構成

推薦する

MySQL 起動エラー InnoDB: ロックできません/ibdata1 エラー

OS X 環境で MySQL を起動すると、エラー メッセージが表示されます。 016-03-03T...

WeChatアプレットがユーザーの移動軌跡を記録

目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...

Vueは虫眼鏡付きの検索ボックスを実装します

この記事では、Vueを使用して虫眼鏡付きの検索ボックスを実装する方法を紹介します。具体的な内容は次の...

html ページ!--[IE の場合]...![endif]--使用方法の詳細な紹介

コードをコピーコードは次のとおりです。 <!--[IEの場合]><script t...

MySQL でインデックスとして B+Tree を使用する利点は何ですか?

目次データベースにインデックスが必要なのはなぜですか?インデックスが B+Tree データ構造を使用...

Javascript 構造化代入の詳細

目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...

DockerにRocketMQをインストールするための実装手順

目次1. 画像を取得する2. ブローカーサーバーを作成する3. ブローカーを作成する4. Rocke...

Web プロジェクト開発 VUE の混合と継承の原則

目次ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン定義とグローバ...

MySQL クエリ キャッシュとバッファ プール

1. キャッシュ - クエリキャッシュ次の図は、MySQL 公式サイトから提供されています: MyS...

UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順

NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...

Reactプロジェクトで要素を使用する方法

React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

MySQL ツリー構造テーブルの設計と最適化に関する簡単な説明

序文多くの管理・オフィスシステムでは、ツリー構造がいたるところで見られます。たとえば、「部門」や「機...

Windows オペレーティング システムでポートの使用状況を照会およびクリアするプログラム

Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...