VueのTodoListケースの詳しい説明

VueのTodoListケースの詳しい説明

ここに画像の説明を挿入

ここに画像の説明を挿入

<テンプレート>
  <div id="ルート">
    <div class="todo-container">
      <div class="todo-wrap">
        <トップ:received="受信済み" />
        <リスト :todos="todos" :checkTodo="checkTodo" :deleteTodo="deleteTodo" />
        <下部 :todos="todos" :checkAllTodo="checkAllTodo" :clearAllTodo="clearAllTodo" />
      </div>
    </div>
  </div>
</テンプレート>
<スクリプト>
  './components/Top.vue' から Top をインポートします。
  './components/Bottom.vue' から Bottom をインポートします。
  './components/List.vue' からリストをインポートします。
  エクスポートデフォルト{
    名前: 'アプリ'、
    コンポーネント:
      トップ、
      リスト、
      底
    },
    データ() {
      戻る {
        すべて: [{
            id: '001',
            タイトル:「食べる」
            完了: true
          },
          {
            id: '002',
            タイトル:「眠り」
            完了: false
          },
          {
            id: '003',
            タイトル: 「Playing Beans」、
            完了: false
          },
        ]
      }
    },
    メソッド: {
      //ToDoを追加
      受信した(todoObj) {
        todoObj を unshift します。
      },
      //ToDoのチェックを外す
      チェックTodo(id) {
        this.todos.forEach((todo) => {
          //関数本体if (todo.id === id) todo.done = !todo.done;
        })
      },
      //TodoIDを削除する{
        this.todos = this.todos.filter(todo => todo.id !== id)
      },
      //すべて選択または選択解除 checkAllTodo(done) {
        this.todos.forEach((todo) => {
          todo.done = 完了
        })
      },
      // 完了したデータをすべてクリアする clearAllTodo() {
        this.todos = this.todos.filter((todo) => {
          !todo.done を返す
        })
      }
    }
  }
</スクリプト>
<スタイル lang="css">
  /*ベース*/
  体 {
    背景: #fff;
  }
  .btn{
    表示: インラインブロック;
    パディング: 4px 12px;
    下マージン: 0;
    フォントサイズ: 14px;
    行の高さ: 20px;
    テキスト配置: 中央;
    垂直位置合わせ: 中央;
    カーソル: ポインタ;
    ボックスシャドウ: インセット 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
    境界線の半径: 4px;
  }
  .btn-危険{
    色: #fff;
    背景色: #da4f49;
    境界線: 1px 実線 #bd362f;
  }
  .btn-危険:ホバー{
    色: #fff;
    背景色: #bd362f;
  }
  .btn:フォーカス {
    アウトライン: なし;
  }
  .todoコンテナ{
    幅: 600ピクセル;
    マージン: 0 自動;
  }
  .todoコンテナ .todoラップ {
    パディング: 10px;
    境界線: 1px 実線 #ddd;
    境界線の半径: 5px;
  }
</スタイル>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。
  • vuex のシンプルな todolist の例の詳細な説明
  • Vue は TodoList から親子コンポーネントの通信を学習します
  • Vuejs はシンプルな todoList 関数とコンポーネントのサンプルコードを実装します
  • vue.js の todoList プロジェクトの例

<<:  CSS でのフレックスレイアウトの詳細な説明

>>:  HTML ページ出力で従うべきいくつかの原則の要約

推薦する

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

Javascript クロージャの使用シナリオの原則の詳細

目次1. 終了2. クロージャの使用シナリオ1.タイムアウトを設定する2. コールバック3. 手ぶれ...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

nohup /dev/null 2>&1 の使い方の詳しい説明

nohup コマンド: プロセスを実行しており、アカウントからログアウトしてもプロセスが終了しないと...

MySQLのロック構造の詳細な説明

Mysqlは3種類のロック構造をサポートしていますテーブルレベルのロック、低オーバーヘッド、高速ロッ...

React はモバイル端末を構築するために antd-mobile+postcss を導入しました

antd-mobileをインストールするグローバル輸入 npm をインストール antd-mobil...

Dockerをクリーンアンインストールする方法の詳細な説明

まず、サーバー環境情報: アンインストールの理由:しばらくするとホストマシンのディスクが100%にな...

Docker に MySQL と Redis をインストールする方法

この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

要素フォーム検証で検証プロンプトをクリアする方法

目次問題のシナリオ:解決: 1. フィールドを個別にチェックする2. フォームフィールドの下のフィー...

JavaScript 文字列オブジェクトメソッド

目次文字列オブジェクトのメソッド方法 1: indexOf() (推奨)方法 2: search()...

Node.js の非同期ジェネレータと非同期反復の詳細な説明

序文ジェネレーター関数は、async/await が導入される前から JavaScript に存在し...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

Vueはスクロールロードテーブルを実装します

目次成果を達成する転がり荷重知識備蓄コンポーネントのパッケージ1. コンポーネントの命名2. 小道具...

HTML ハイパーリンク スタイル (4 つの異なる状態) の設定例

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...