Vue で ToDo アプリケーションを実装する例

Vue で ToDo アプリケーションを実装する例

背景

まず最初に、私はフロントエンド開発の専門家ではないことを述べておきたいと思います。私の以前のコンテンツを読んだことがあるなら、私がバックエンド開発が得意であることはご存知でしょう。フロントエンド開発の経験は多少ありますが、熟練しているとは言えず、ほとんど精通していません。このシリーズを書く目的は、単純に好奇心からです。数年前は JQuery が主流だったフロントエンドの状況が、なぜ今こんなにも混沌としているのか、なぜ js が、その母体さえも認識できないほどひどく弄ばれているのか、興味があります。エントリー ポイントとして vue を選んだ理由は、vue がシンプルで、基本的にデモを見るだけで始められるからです。vue は 3 大人気のフロントエンド フレームワークの 1 つなので、vue の実装方法さえ理解していれば、フロントエンドについて少しは理解できます。このアイデアに駆り立てられて、このシリーズが作成されました。

ここでの Vue の真似は、Vue のソースコードを読んで理解した上で、Vue を真似て書くということではありません。構文は V​​ue の構文のままですが、自分で実装する方法を見つけます。もちろん、Vue を参考にすることもできますが、フロントエンド レベルの私にとって、Vue を完全に理解するのは少し難しいです。したがって、Vue ソースコードの実装を理解したい場合、このシリーズは適していません。ただし、私のように、JS を少し知っていて、Vue ソースコードのどこから始めればよいかわからないが、Vue と同じ機能を実装する方法を知りたい場合は、私に従ってください。ソースコードを見るのではなく、自分で簡単な Vue を実装する方法を見つけます。

Vue ToDo アプリケーション

このシリーズのアイディアは、Vue を使用して簡単なアプリケーションを実装し、アプリケーション内で Vue 関連のコア機能を使用し、コードは変更せずに vue.js ファイルを独自の実装に置き換え、最終的に Vue と同じ効果を実現することです。ここでは、vue を使用して非常にシンプルな ToDo アプリケーションを実装します。コードは次のとおりです。

<html>
  <ヘッド>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  </head>
  <本文>
      <div id="アプリ">
          <input v-model="newTodo"></input>
          <button v-on:click="addTodo()">追加</button>
          <div>入力テキスト:{{newTodo}}</div>
          <ul>
              <div v-for="(todo,index) in todos" style="margin-bottom: 20px;">
                  <li style="float: left;margin-right: 20px;">
                      {{todo.text}}
                  </li>
                  <button v-on:click="deleteTodo(index)">削除</button>
              </div>
          </ul>
      </div>
      <スクリプト>
          var appx = 新しいVue({
              el: '#app',
              データ: {
                  新しいToDo: ''、
                  すべて: []
              },
              メソッド: {
                  追加Todo: 関数() {
                      this.todos.push({ テキスト: this.newTodo });
                      this.newTodo = '';
                  },
                  deleteTodo: 関数 (インデックス) {
                      this.todos.splice(インデックス、1);
                  }
              }
          })
      </スクリプト>
  </本文>
  </html>

効果は以下のとおりです。

  • 入力ボックスの値が変わると、入力内容が入力ボックスの下に表示されます(デモンストレーション効果のため、実際の意味は無視されます)
  • 新しいToDoを入力するたびに、下にリスト項目が1つ追加されます。
  • 現在のリスト項目を削除するには、リスト項目の右側にある削除ボタンをクリックします。

デモはシンプルですが、Vue のコア機能がすべて含まれています。

  • 双方向値バインディング (v-model)
  • 応答性が高く、値が変化すると、バインドされたノードの値も同期して変化します。
  • イベント応答 (v-on:click)
  • ループ命令 (v-for)

次の章では、vue.js ファイルを紹介せず、同じ機能を段階的に実装していきます。

以上がVueでtodoアプリケーションを実装した例の詳細です。Vueでtodoアプリケーションを実装することの詳細については、123WORDPRESS.COMの他の関連記事に注目してください!

以下もご興味があるかもしれません:
  • VueCli3+TypeScript+Vuex を使用して todoList を段階的に構築する方法
  • vuex のシンプルな todolist の例の詳細な説明
  • todoList プロジェクトを実装するために webpack4 を使用して Vue 開発環境を手動で構築する方法
  • Vueはtodolistの基本機能とデータ保存機能の例を実装します
  • Vue 親子コンポーネント通信を使用して ToDo リスト機能を実装するためのサンプル コード
  • Vue は ToDo リストの削除機能を実装します
  • Vue での親子コンポーネント通信における todolist コンポーネント機能の開発
  • vue todo-list コンポーネントを npm に公開する方法
  • Vue コンポーネント記述における todolist コンポーネント例の詳細な説明
  • Vue を使用してシンプルな ToDo リストを完成させる方法

<<:  Linux でスワップ領域を確認する 5 つのコマンドの概要

>>:  MySQLテーブルの自動インクリメント列の初期値をリセットする方法

推薦する

DockerにRabbitMQをインストールする詳細な手順

目次1. 鏡を見つける2. RabbitMQイメージをダウンロードする3. RabbitMQコンテナ...

JavaScriptとTypeScriptの関係

目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

Windows に WSL をインストールして構成する方法

WSLとはBaidu 百科事典からの一節を引用します。 Windows Subsystem for ...

MySQL 5.6.22 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL5.6.22のインストールと設定方法の具体的なコードを参考までに共...

HTML でのテキストエリアの使用と一般的な問題およびケース分析

textarea タグはよく使われる HTML タグです。主に長いテキストを入力するときに改行するた...

Linux システムで HugePages をすばやく構成するための完全な手順

序文Linux システムの HugePages と Oracle データベースの最適化については、関...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

ビジュアルデザイナーの成長の3つの段階のまとめ

この本「グラフィックデザイナーとして成長する」は多くの人が読んでおり、私もオリジナルの PDF 版を...

LinuxはNetworkManagerを使用してMACアドレスをランダムに生成します

今では、自宅のソファーに座っていても、外の喫茶店にいても、ノートパソコンの電源を入れてWi-Fiに接...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

Ubuntu 14.04 に FTP サーバーをインストールするための実装手順

目次インストールソフトウェア管理匿名アクセスモード設定ファイルを変更するクライアントがサーバーにログ...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...

デザイン理論:人の心を理解する方法

<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...

SSH接続を介してXshellを使用したUbuntu 20.04で報告されたサービス問題の詳細な説明

1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...