Получить переменную сеанса непосредственно в компоненте HTML в приложении Angular? - PullRequest
1 голос
/ 29 апреля 2020

Есть ли способ получить и отобразить значение переменной сеанса непосредственно в компоненте HTML, не назначая локальную переменную со значением переменной сеанса?

Что-то вроде:

<span>{{sessionStorage.getItem('name')}}</span>

1 Ответ

2 голосов
/ 29 апреля 2020

Как упомянуто в Angular документации , контекст выражения в шаблоне является экземпляром компонента. Поскольку sessionStorage является членом объекта window, вы не можете ссылаться на него напрямую в шаблоне:

Выражения шаблона не могут ссылаться ни на что в глобальном пространстве имен, кроме undefined. Они не могут ссылаться на window или document.

Вы можете сделать sessionStorage доступным в шаблоне, назначив его для свойства publi c класса компонента:

export class MyComponent {
  public sessionStorage = sessionStorage;
}

и сослаться на это свойство в шаблоне:

<span>{{sessionStorage.getItem('name')}}</span>

См. этот стек для демонстрации.

...