Эта pushState
функция в конечном итоге будет отображаться в браузерную функцию history.pushState
так или иначе.MDN docs дает подробное описание того, как используется это свойство state
:
Объект состояния - это объект JavaScript, связанный с новой записью истории, созданной pushState()
.Всякий раз, когда пользователь переходит в новое состояние, запускается событие popstate
, а свойство state
события содержит копию объекта состояния записи истории.
Объект состояния может быть любым, что можно сериализовать. Поскольку Firefox сохраняет объекты состояния на диск пользователя, чтобы их можно было восстановить после того, как пользователь перезапустил браузер, мы устанавливаем ограничение размера640 тыс. Символов на сериализованном представлении объекта состояния.Если вы передадите объект состояния, сериализованное представление которого больше этого, в pushState()
, метод сгенерирует исключение.Если вам нужно больше места, чем это, вам рекомендуется использовать sessionStorage
и / или localStorage
.
(Подчеркните мои / ОП).
popstate
Описанное здесь событие доступно в Angular через сервис Location
.В частности, вы можете подписаться на услугу Location
, чтобы прослушивать PopStateEvent
s, которые включают свойство state
, содержащее то, что вы ожидаете.