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

推薦する

CSS で実装された円形のプログレスバー

成果を達成する 実装コードhtml <div class="wrap"&g...

携帯電話向けウェブページ作成のヒント

現在では多くの人がスマートフォンを使用していることを考慮すると、モバイル Web ページの書き方は、...

Firefox または IE でスパン幅が決定されない場合の解決策

コードをコピーコードは次のとおりです。 <html xmlns="http://ww...

Linuxコマンド履歴の調整方法の詳細な説明

Linux システムの bash history コマンドは、以前に実行したコマンドを記憶し、再入力...

MySQL の集計関数 count の使用法とパフォーマンスの最適化テクニック

この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...

スライダー効果を実装するミニプログラム

この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...

CSS グリッドレイアウトで列にアイテムを埋め込む方法

n 個のアイテムがあり、これらのアイテムをグリッド レイアウトの列に並べ替える必要があるとします。列...

グリーンスタイルのウェブデザイン作品18点の最新コレクション

トイ・ストーリー3 オンラインマーケティングウェブサイトゼンモバイル鉄から鉄へスプラウトファンドバー...

よく使用される Linux コマンドの完全なリスト (推奨コレクション)

目次1. システム情報2. シャットダウン(システムのシャットダウン、再起動、ログアウト) 3. フ...

Nginx proxy_pass の / スラッシュによって引き起こされた殺人事件の詳細な説明

背景nginx サーバー モジュールは 2 つのサーバーにプロキシする必要があるため、異なるサーバー...

Vue グローバルメソッドを設定する 2 つの方法

目次1. はじめに2. 最初の方法3. 2番目の方法要約する1. はじめにVue プロジェクトの開発...

Nofollowはコメントやメッセージ内のリンクを本当に機能させる

コメントとメッセージはもともと、ウェブマスターがコミュニティと読者層を構築するための優れた手段でした...

WAMPにインストールするとMySQLが起動できるが、再起動後に起動できなくなる問題の解決方法

初めてwampをインストールした後、すべてのサービスが正常に使用できますが、再起動するとwampのア...

ウェブデザインでよくある間違いのまとめ

Web ページを設計する過程で、デザイナーが間違いを犯すのは必然です。特に新人は、新しいアイデアを実...

Dockerコンテナでの静的ウェブサイトレイアウトの実装

サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...