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 コマンドの詳細な説明

推薦する

Tomcat のインストール後に起こりうる問題の紹介

1. Tomcatサービスが開いていませんブラウザのアドレスバーにlocalhost:8080と入力...

Linux で削除できないファイル/フォルダの解決方法

序文最近、弊社のサーバーがハッカーの攻撃を受け、一部のファイルの属性が変更されたため、ウイルスファイ...

2019 年に最も役立ち重要なオープンソース ツール トップ 10

Black Duck の 2017 年のオープンソース調査では、回答者の 77% がオープンソース...

CSS3は三角形の連続拡大効果を実現します

1. CSS3の三角形は特殊効果でズームし続けます11.1 画像プレビュー 11.2 index.h...

VMware Workstation Pro 16 ライセンス キーと使用方法のチュートリアル

VMware Workstation は、開発、テスト、デモンストレーション、展開のために仮想マシン...

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...

HTML の長いテキストは、タグの幅を超えると自動的に切り捨てられます。

長いテキストを表示する場合、C# 側で文字をインターセプトする必要があることがよくありますが、長いテ...

Chromeブラウザ設定の新バージョンではクロスドメイン実装が可能

序文現在、フロントエンドは主に webpack の devServer の構成を通じてクロスドメイン...

Vueカスタムテーブル列実装プロセス記録

目次序文レンダリングsetTable コンポーネント使用結論序文フォームを使用して PC 側のプロジ...

VMware ESXi CLI の一般的なコマンドを調べる

目次【共通コマンド】 [一般的な esxi コマンドの概要] [esxcli コマンドの調査] ES...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

JavaScript を使用してハイパーリンクのリダイレクトを防ぐ方法 (複数の書き方)

JavaScript を使用すると、ハイパーリンクがジャンプするのを防ぐことができます。方法は次の...

Dockerfile を使用したカスタムイメージの構築の実装

目次序文Dockerfile の紹介Dockerfileはイメージプロセスを構築するDockerfi...

自動検索提案機能のスタイルファイルを入力します: suggestion.css

コードをコピーコードは次のとおりです。 .sugLayerDiv{位置:相対; overflow:h...