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テーブルの自動インクリメント列の初期値をリセットする方法

推薦する

MySQL無料インストール版のパスワードの設定と変更に関するチュートリアル

ステップ 1: 環境変数を構成する (解凍パス: G:\mysql\mysql-5.7.21-win...

JavaScript におけるイベント バブリング メカニズムの詳細な分析

バブリングとは何ですか? DOM イベント フローには、イベント キャプチャ ステージ、ターゲット ...

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

この記事では、参考までにMySQL 8.0.15のインストールと設定方法のグラフィックチュートリアル...

Dockerでspringcloudプロジェクトをデプロイする方法

目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...

jsはブラウザを閉じるときにアカウントのログアウトを処理します

目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...

HTML マークアップ言語 - フォーム

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Windows で nginx を素早くインストールし、自動的に起動するように設定する

目次1. Windows システムでの Nginx のインストールと起動プロセス: 2. 起動時にN...

Centos7 への MySQL8 のインストールチュートリアル

MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...

K8S クラスターを構築し、Hyper-V で Docker をインストールする方法

Win10 システムをインストールしていて、k8s クラスターを構築する場合、Win10 に付属する...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

画像にマウスを置いたときにズームイン/ズームアウトするには JS を使用します

マウスが画像上にあるときにズームインおよびズームアウトするには、JS を使用します。具体的なコードは...

フロントエンドが習得すべき、複数列の等高レイアウトを実現するための CSS テクニック

1. はじめにページを作成しているときに、複数列のレイアウトに遭遇することがあります。各列の内容が異...

デザインストーリー: ナンバープレートを覚えられない警備員

<br />私が住んでいる地域では、コミュニティに出入りする車両を管理するために、コミュ...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

JavaScript デザインパターンの学習 アダプタパターン

目次概要コードの実装要約する概要アダプタ パターンは、デザイン パターンの動作パターンのパターンです...