web-dev-qa-db-ja.com

Angular2からHTML5ローカルストレージにアクセスする

私はこのチュートリアルに従っています: https://medium.com/@blacksonic86/authentication-in-angular-2-958052c64492 Angular2での認証について。

私はこの部分に問題があります:

import localStorage from 'localStorage';

HTML5のローカルストレージにアクセスするには、このライブラリを使用する必要があることをどこかで読んだことがあります https://github.com/marcj/angular2-localstorage 。それは本当に唯一の選択肢ですか?追加のモジュールを使用せずにangular2からHTML5ローカルストレージにアクセスできますか?

10

import localStorage from 'localStorage';を使用せずに、サービスでlocalStorageを直接使用できます。

9
ranakrunal9

ここで他の人が述べているように、直接localStorageを使用する必要があります。これは、組み込みのブラウザー機能です( サポートされているブラウザー )。

さらに、エントリを追加する方法に関するいくつかの例を以下に追加します(どちらも同じように機能します)。

localStorage.colorSetting = '#a4509b';    // dot notation
localStorage['colorSetting'] = '#a4509b'; // bracket notation
localStorage.setItem('colorSetting', '#a4509b');

注意として、angular2-localstorageはネイティブのlocalStorageの上で機能し、ディレクティブの可変状態を自動的に保存および復元する「便利な」方法を提供します。

7
GibboK

ローカルストレージプロジェクトが誰かを引き継ぐことを求めており、現在維持されていないことに気づきました。だからそれまでは使いません。 tsconfig.jsonファイルで修正を見つけることができました。

プロパティlibに、domを追加するだけです。

"lib": [
      "es2016",
      "dom"
    ]

これはコンパイラオプションでサポートされています https://www.typescriptlang.org/docs/handbook/compiler-options.html

エラーを削除するには、このためにVisualStudioコードを再起動する必要がありました。

1
Winnemucca