Нет лучшего способа, зависит от того, что для вас жизнеспособно.
Одним из способов будет сделать его частью URL, используя соответствующий параметр URL . Таким образом, состояние управляется самим маршрутизатором и соответствует идее состояния, сохраняемой в URL. Вы можете отправлять URL-адреса с глубокой маршрутизацией до уровня страницы. Легко поддерживать и отлаживать. Легко сочетается с кнопкой возврата браузера. Недостатком является дополнительный параметр в URL, делающий его некрасивым
Другой способ - сохранить состояние таблицы в локальном / сеансовом хранилище. Это по сути кеширование и принесет все сложности кеширования и аннулирования кеша. Кроме того, состояние приложения частично зависит от маршрутизатора, а частично - от состояния, хранящегося в постоянном хранилище. Некоторые компоненты для данных поддерживают передачу состояния и сохранение его в сеансе / локально, устанавливая флаг, вы можете исследовать его и использовать один из них. Когда дело доходит до нескольких таблиц на одной странице или на разных страницах, вы должны быть осторожны в управлении уникальными состояниями для каждого.
Другим способом было бы использовать избыточность для управления состоянием, для этого вам, возможно, придется использовать ngrx / store. Не уверен, насколько хорошо он интегрируется с URL и браузерной навигацией. Также, если вы уже не используете redux, это может быть крутой кривой обучения и использовать мощную библиотеку управления состоянием для простой задачи. Если вы используете Redux, лучше использовать его в приложении.