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 により、スレッドがブロックされ、パフォーマンスが制限される

推薦する

MySQL における冗長インデックスと重複インデックスの違い

MySQL では、1 つの列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、M...

MySQL 5.6 zipパッケージのインストールチュートリアルの詳細

これまでは、拡張子が .msi のファイル、つまり、完全なインストールが使用されていました。しかし、...

mysql 変数の使用例の分析 [システム変数、ユーザー変数]

この記事では、例を使用して MySQL 変数の使用方法を説明します。ご参考までに、詳細は以下の通りで...

nginx httpモジュールのデータ保存構造の概要

このセクションから、http モジュールの実装原理について説明します。http モジュールで非常に重...

MySQL Binlog ログ処理ツールの比較分析

目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...

入力ボックスのカーソルサイズの表示が一貫していない問題の解決方法

入力ボックス内のカーソルのサイズが一定ではありませんIE7とChromeの違いは非常に明白ですまず、...

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...

VUE ユニアプリの基本コンポーネントの簡単な紹介

1. スクロールビュー垂直スクロールを使用する場合は、固定の高さを指定して CSS で高さを設定する...

CSS3 3Dクールキューブ変形アニメーションの実装

私はコーディングが大好きです。コーディングすると幸せになります!みなさんこんにちは、Counterで...

ソフトウェア テスト - MySQL (VI: データベース関数)

1.MySQL関数1. 数学関数PI() # 円周率 (pi) の値を返します。デフォルトの小数点...

js は複数の画像を zip にパッケージ化します

目次1. ファイルをインポートする2. HTMLページ3. メインコード4. 画像をbase64に変...

データベースの水平セグメンテーションを実装するための2つのアイデア

導入インターネット アプリケーションの普及に伴い、膨大なデータの保存とアクセスがシステム設計における...

入力テキスト ボックスと画像検証コードの位置合わせの問題 (画像は常に入力より 1 つ上になります)

Web ページ制作では、input と img が同じ行に配置されることが多く、img タグが常に ...

Reactの原理の説明

目次1. setState() の説明1.1 データの更新1.2 推奨構文1.3 2番目のパラメータ...

Vue.js パフォーマンス最適化 N 個のヒント (収集する価値あり)

目次機能コンポーネント子コンポーネントの分割ローカル変数v-show によるDOMの再利用キープアラ...