История маршрутизации с vuejs

1

У меня есть маршрут: https://localhost/search/. Я не использовал параметр поиска в параметре маршрутизации на стороне клиента vuejs. Запрос отправляется на конечную точку api, которая отправляется как текст поиска и page_no в качестве параметров, и это дает мне результат. Я смотрю параметры page_no для отправки запроса, когда мы идем туда и обратно в браузере. Но проблема в том, что при изменении текста поиска, как я могу вернуться из браузера с конкретным текстом поиска. Я думал о предоставлении текста поиска в маршрутизации на передней панели, но я хочу этого избежать.

  • 0
    Вы должны управлять своей собственной историей, используя developer.mozilla.org/en-US/docs/Web/API/History_API .
  • 0
    Как управлять собственной историей?
Показать ещё 2 комментария
Теги:
vue.js

1 ответ

0

Когда вы переходите к новому результату поиска, вы должны называть pushState самостоятельно. Поскольку vue-router не будет нажимать другое состояние, если маршрут назначения совпадает с текущим. Затем вам нужно обработать событие onpopstate для обновления SearchComponet.

window.onpopstate = function(event) {
      alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
    };

history.pushState({query: "a"}, null);

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

  • 0
    Понял, попробую.
  • 0
    быстрый вопрос, почему мы не можем получить доступ к состоянию магазина в onpopstate?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню