VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

この記事では主に、Vue で TodoList をカプセル化するケースと、ブラウザのローカル キャッシュのアプリケーション実装について紹介し、次のように共有します。

ここに画像の説明を挿入

シンプルな Todolist の例が Vue を使用してカプセル化されています。ブラウザのローカル キャッシュ テクノロジも追加されています。

ブラウザのローカルキャッシュ:

  • 前提: 通常、定義した変数や Vuex によって保存されたデータは、ブラウザを更新すると失われるため、履歴記録の効果は得られません。ただし、ブラウザ キャッシュを使用すると、この問題を解決できます...
  • ブラウザ キャッシュは、sessionStorage と localStorage の 2 種類に分かれています。2 つのプロトタイプ チェーンは次のとおりです。

ここに画像の説明を挿入

ここに画像の説明を挿入

プロトタイプチェーンは基本的に同じであることがわかりますが、唯一の違いは

  • localStorage は永続的なローカル キャッシュとして機能します。手動で削除するかクリアしない限り、ブラウザー内に常に存在します。
  • sessionStorage はセッション キャッシュに使用されます。そのライフ サイクルは現在のブラウザー セッションにのみ存在します。ブラウザーを閉じると、情報は失われます。ただし、ページを更新するだけであれば、データは保存されたままになります。

この例では、sessionStorage が使用され、そのための小さなパッケージが作成されます。

定数ストレージ = {
	set(キー, 値){
		window.sessionStorage.setItem(キー、JSON.stringify(値));
	},
	get(キー){
		JSON.parse(window.sessionStorage.getItem(key)) を返します。
	},
	削除(キー){
		window.sessionStorage.removeItem(キー);
	}
}

デフォルトのストレージをエクスポートします。

コード例:

<テンプレート>
	<div class="todo">
		<ヘッダー>
			<input type="text" placeholder="Enter..." v-model="キーワード" @keydown.enter="handleList">
			やることリスト
		</ヘッダー>
		<!-- 進行中 -->
		<h4>進行中...{{dolistNumber}}</h4>
		<template v-for="(item, index) in dolist" :key="index">
			<div class="dolist" v-if="!item.checked">
				<label :for="index +'l'">
					<input type="checkbox" v-model="item.checked" :id="index +'l'" @change="handleChecked">
					{{item.title}}
				</ラベル>
				<span @click="cancalDo(index)">X</span>
			</div>
		</テンプレート>

		<!-- 完了 -->
		<h4>完了しました...{{dolist.length - dolistNumber}}</h4>
		<template v-for="(item, index) in dolist" :key="index">
			<div class="dolist" v-if="item.checked">
				<label :for="index +'ll'">
					<input type="checkbox" v-model="item.checked" :id="index +'ll'" @change="handleChecked">
					{{item.title}}
				</ラベル>
				<span @click="cancalDo(index)">X</span>
			</div>
		</テンプレート>
	</div>
</テンプレート>

<スクリプト>
	'../storage.js' からストレージをインポートします。
	エクスポートデフォルト{
		名前: "todoList",
		データ() {
			戻る {
				キーワード: "", // 入力オプション dolist: [],
			}
		},
		計算:{
			リスト番号(){
				this.dolist.filter(item => item.checked === false).length を返します。
			}
		},
		メソッド: {
			ハンドルチェック(){
				// ステータスを変更した後に更新します storage.set('dolist', this.dolist);
			},
			ハンドルリスト() {
				if (this.keyword !== "") {
					this.dolist.push({
						タイトル: this.keyword,
						チェック済み: false、
					});
					this.keyword = "";
					ストレージを設定します('dolist', this.dolist);
				}
				
			},
			cancalDo(インデックス) {
				// これを削除します this.dolist.splice(index, 1);
				ストレージを設定します('dolist', this.dolist);
			}
		},
		マウントされた(){
			dolist = storage.get('dolist'); とします。
			if(dolist){
				this.dolist = dolist;
			}
		},

	}	
</スクリプト>

<スタイル>
	.todo {
		マージン: 400px 自動;
		最小高さ: 300px;
		幅: 800ピクセル;
		背景色: #eee;
	}

	.todo ヘッダー {
		位置: 相対的;
		テキスト配置: 中央;
		高さ: 60px;
		行の高さ: 60px;
		フォントサイズ: 20px;
		下境界線: 2px 実線 #fff;
	}

	.todo ヘッダー入力 {
		位置: 絶対;
		左: 40px;
		上位: 50%;
		変換: translateY(-50%);

		アウトライン: なし;
		行の高さ: 30px;
		境界線の半径: 15px;
		左パディング: 30px;
		境界線: 1px 実線 #999;
		フォントサイズ: 16px;
		幅: 100ピクセル;
		遷移: すべて .6 秒線形。
	}

	.todo ヘッダー入力:フォーカス {
		幅: 200ピクセル;
	}

	.dolist {
		パディング: 20px;
		フォントサイズ: 16px;

	}

	.dolist ラベル {
		カーソル: ポインタ;
	}

	.dolist入力{
		右マージン: 10px;

	}

	.dolist span:最後の子 {
		フロート: 右;
		境界線: 1px の灰色
		背景色: #999;
		色: #fff;
		境界線の半径: 50%;
		パディング: 5px;
	}

	h4 {
		パディング下部: 20px;
		テキスト配置: 中央;
	}
</スタイル>

Vue で TodoList をカプセル化するケースとブラウザローカルキャッシュのアプリケーション実装についての記事はこれで終わりです。Vue TodoList に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vuex のシンプルな todolist の例の詳細な説明
  • Vue は TodoList から親子コンポーネントの通信を学習します
  • Vuejs はシンプルな todoList 関数とコンポーネントのサンプルコードを実装します
  • vue.js の todoList プロジェクトの例
  • VueのTodoListケースの詳しい説明

<<:  mysqlパラメータsql_safe_updatesを使用して更新/削除範囲を制限する方法の詳細な説明

>>:  Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明

推薦する

画像ボタンをフォームのリセットボタンとして使用する方法

フォームを作成するときに、送信ボタンとリセットボタンを配置することがよくあります。ページの外観を考慮...

Vueはテーブルページング機能を実装します

この記事では、テーブルページング機能を実現するためのVueの具体的なコードを例として紹介します。具体...

MySQL スケジュールタスクの実装と使用例

この記事では、例を使用して、MySQL スケジュール タスクの実装と使用方法を説明します。ご参考まで...

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...

Dockerイメージのインポートとエクスポートの実装

GitLabのDocker使用法gitlab ドッカー起動コマンド docker run -d -p...

マスタークラスタに再参加する k8s ノードの実装

1. ノードを削除するkubectl delete node node01を実行します。 2. この...

CSS で透明なグラデーション効果を実装するためのサンプルコード

Zhihu Discovery コラムのタイトル画像は、通常、以下のように表示されます。明らかに、グ...

MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装

1. まず、次のパスに従って対応するフォルダを作成します。 ローカルのdockerでmysqlを実行...

Zabbix が MySQL のマスター/スレーブ状態を監視する方法の詳細な説明

MySQLマスタースレーブを設定した後、スレーブの状態が正常かどうかわからないことが多く、例外が発生...

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...

Vue.jsは画像切り替え機能を実装する

この記事では、画像切り替え機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

MySQL 権限とデータベース設計のケーススタディ

権限とデータベース設計ユーザー管理SQLyogを使用してユーザーを作成し、権限を付与する基本コマンド...

Vueのアイデアを使ってストレージをカプセル化する方法

目次背景関数目的アイデアの源成し遂げるセット得るプロパティの削除拡張機能を禁止するもっている要約する...