Vueはシンプルなメモ帳機能を実装します

Vueはシンプルなメモ帳機能を実装します

この記事では、参考までに、簡単なメモ帳機能を実装するためのVueの具体的なコードを紹介します。具体的な内容は次のとおりです。

プレビュー画像:

機能は次のとおりです。

(1)タスクを入力し、Enterキーを押してタスクリストに追加します(重複したタスクは入力できません)

(2)「削除」をクリックすると、対応するタスクが削除されます。

(3)「クリア」をクリックすると、すべてのタスクが削除されます。

(4)タスクの合計数は左下隅に同期して表示されます。

完全なコードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">
 
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>メモ帳</title>
    <スタイル>
        * {
            マージン: 0;
            パディング: 0;
        }
 
        #todoアプリ{
            幅: 600ピクセル;
            背景色: rgba(19, 161, 114, 0.63);
            フォントファミリー: サンセリフ;
        }
 
        .header>h1 {
            パディング: 20px 0;
            テキスト配置: 中央;
            フォントサイズ: 40px;
            色: ホワイトスモーク;
        }
 
 
        .新しいタスク {
            表示: ブロック;
            幅: 500ピクセル;
            高さ: 50px;
            行の高さ: 50px;
            左パディング: 10px;
            マージン: 0 自動;
            フォントサイズ: 20px;
            アウトライン: なし;
            境界線: なし;
        }
 
        .todolist li {
            高さ: 30px;
            行の高さ: 30px;
            左パディング: 15px;
            マージン: 10px 0;
            フォントサイズ: 25px;
            色: 白;
        }
 
        .todolist .item {
            左マージン: 15px;
        }
 
        。破壊する、
        。クリア {
            幅: 50px;
            高さ: 30px;
            フロート: 右;
            色: 白;
            背景色: 透明;
            境界線: なし;
            フォントサイズ: 20px;
        }
 
        .フッター{
            幅: 600ピクセル;
            高さ: 30px;
            パディング: 10px 0;
            垂直位置合わせ: 中央;
        }
 
 
        .footer p {
            表示: インラインブロック;
            左パディング: 15px;
            色: 白;
            フォントサイズ: 20px;
        }
    </スタイル>
</head>
 
<本文>
    <セクション id="todoapp">
        <ヘッダークラ​​ス="ヘッダー">
            <h1>メモ帳</h1>
            <input type="text" v-model="newItem" class="newTask" placeholder="タスクを入力してください" @keyup.enter="add">
        </ヘッダー>
        <セクション>
            <ul class="todolist">
                <li v-for="(リスト内の項目、インデックス)">
                    <div>
                        <span>{{ インデックス + 1 }}</span>
                        <label class="item">{{ アイテム }}</label>
                        <button class="destroy" @click="del(index)">削除</button>
                    </div>
                </li>
            </ul>
        </セクション>
        <フッタークラス="フッター">
            <p class="count">
                アイテム: {{ list.length }}
            </p>
            <button class="clear" @click="clear" v-show="list.length != 0">クリア</button>
        </フッター>
    </セクション>
    <script src="./vue.js"></script>
    <スクリプト>
        constアプリ = 新しいVue({
            el: "#todoapp",
            データ: {
                リスト: [],
                新しいアイテム: ""
            },
            メソッド: {
                追加() {
                    if (this.newItem == "") {
                        戻る;
                    }
                    それ以外 {
                        if (!this.list.includes(this.newItem)) {
                            this.list.push(this.newItem);
                            this.newItem = "";
                        }
                        それ以外 {
                            alert("重複するイベントを追加しないでください!");
                            this.newItem = "";
                        }
                    }
                },
                del(インデックス) {
                    this.list.splice(インデックス、1);
                },
                クリア() {
                    このリスト = [];
                }
            }
        })
    </スクリプト>
</本文>
 
</html>

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

以下もご興味があるかもしれません:
  • vuex 2.0 の詳細な調査と、vuejs 2.0 + vuex 2.0 を使用したメモ帳アプリケーションの構築
  • vue2.0+vuex+localStorage に基づくローカルメモ帳の例
  • メモ帳ケースのVue実装
  • Vueはシンプルなメモ帳を実装する
  • Vueは小さなメモ帳機能を実装しました
  • vue シンプルメモ帳開発の詳しい説明
  • Vue Notepadの例の詳細な説明
  • Vueはメモ帳機能を実装する
  • vue-cli+webpack メモ帳プロジェクトの作成
  • Vuex はメモ帳機能を実装します

<<:  IDEA は Docker プラグインを使用します (初心者向けチュートリアル)

>>:  低バージョンの Druid 接続プール + MySQL ドライバー 8.0 により、スレッドがブロックされ、パフォーマンスが制限される

推薦する

Dockerで同じIDを持つ2つのイメージを削除する

今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コ...

MySQL COUNT関数の使用と最適化

目次COUNT 関数は何をするのですか? MyISAMの「魔法」シンプルなCOUNT最適化近似値を使...

画像ファイルの形式とその選択方法

1. どの 3 つの形式ですか?それぞれ、gif、jpg、png です。画像ファイルを最適化すること...

Vuex全体のケースの詳細な説明

目次1. はじめに2. 利点3. 使用手順1. Vuexをインストールする2. Vuexを参照する3...

シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)

ワンクリック実行仮想マシンに Python 3.8 をインストールするには、ネットワーク アダプター...

WeChat 8.0の爆発的な特殊効果を実現するために300行以上のCSSコードが必要

WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

Docker実行コンテナが作成状態にある問題についての簡単な説明

最近の問題としては、次のような現象があります。システムには、docker run コマンドを継続的に...

Node.js のモジュール性、npm パッケージ マネージャーの説明

目次モジュール化の基本概念モジュール化とは何かモジュール分解の利点Node.js のモジュール性No...

IIS7~IIS8.5 サーバープロトコルヘッダーの削除または変更

要件: IIS 7、7.5、8.0、8.5、および ASP.NET で HTTP 応答ヘッダーを削除...

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

MySQL における in と exists の使い方と違いの紹介

まずコードを書いて (int i=0;i<1000;i++){ (int j=0;j<5...

MySQL 8.0 における MySQL のインストールと新しいパスワード認証方法の詳細な説明

1. はじめにOracle が MySQL 8.0GA をリリースしました。海外での GA はリリー...

Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...