Ответ 1
Вы можете использовать localStorage
непосредственно в своей службе без import localStorage from 'localStorage';
.
Я следую этому руководству: https://medium.com/@blacksonic86/authentication-in-angular-2-958052c64492 об аутентификации в Angular2.
У меня проблема с этой частью:
import localStorage from 'localStorage';
Я читал где-то еще, что я должен использовать эту библиотеку https://github.com/marcj/angular2-localstorage для доступа к локальному хранилищу в HTML5. Это действительно единственный вариант? Могу ли я получить доступ к локальному хранилищу HTML5 из angular2 без использования дополнительных модулей?
Вы можете использовать localStorage
непосредственно в своей службе без import localStorage from 'localStorage';
.
Вы должны использовать непосредственно localStorage
, как упоминалось здесь, это встроенные функции браузера (поддерживаемый браузер).
Кроме того, я добавляю ниже несколько примеров того, как добавить в него запись (они работают одинаково).
localStorage.colorSetting = '#a4509b'; // dot notation
localStorage['colorSetting'] = '#a4509b'; // bracket notation
localStorage.setItem('colorSetting', '#a4509b');
В качестве примечания, angular2-localstorage
работает поверх встроенного localStorage
и обеспечивает "удобный" способ автоматического сохранения и восстановления состояния переменной в вашей директиве.
Я заметил, что проект локального хранилища ищет кого-то для поглощения и в настоящее время не поддерживается. Поэтому я не буду использовать его до тех пор. Мне удалось найти исправление в файле tsconfig.json.
В свойстве lib вы можете просто добавить dom
"lib": [
"es2016",
"dom"
]
Это поддерживается в параметрах компилятора https://www.typescriptlang.org/docs/handbook/compiler-options.html.
Мне пришлось перезапустить визуальный код студии, чтобы удалить ошибки.