LocationStrategy.pushState (state: any, title: string, url: string, queryParams: string) - Что такое состояние? - PullRequest
0 голосов
/ 05 октября 2018

Что я могу сделать с аргументом состояния в pushState(state: any, title: string, url: string, queryParams: string)?

Можно ли хранить данные?

Существует ли какая-либо документация, которая была бы более "подробной", чем https://angular.io/api/common/LocationStrategy#pushState?

<3 </p>

1 Ответ

0 голосов
/ 05 октября 2018

Эта pushState функция в конечном итоге будет отображаться в браузерную функцию history.pushState так или иначе.MDN docs дает подробное описание того, как используется это свойство state:

Объект состояния - это объект JavaScript, связанный с новой записью истории, созданной pushState().Всякий раз, когда пользователь переходит в новое состояние, запускается событие popstate, а свойство state события содержит копию объекта состояния записи истории.

Объект состояния может быть любым, что можно сериализовать. Поскольку Firefox сохраняет объекты состояния на диск пользователя, чтобы их можно было восстановить после того, как пользователь перезапустил браузер, мы устанавливаем ограничение размера640 тыс. Символов на сериализованном представлении объекта состояния.Если вы передадите объект состояния, сериализованное представление которого больше этого, в pushState(), метод сгенерирует исключение.Если вам нужно больше места, чем это, вам рекомендуется использовать sessionStorage и / или localStorage.

(Подчеркните мои / ОП).

popstateОписанное здесь событие доступно в Angular через сервис Location.В частности, вы можете подписаться на услугу Location, чтобы прослушивать PopStateEvent s, которые включают свойство state, содержащее то, что вы ожидаете.

...