Я работаю над приложением AngularJs. Моя проблема следующая.
У меня есть отфильтрованные данные с использованием определенных параметров с помощью флажков и переключателей. После фильтрации данных я перешел в другое состояние. Когда пользователь нажимает кнопку "Назад" в браузере, я не могу получить отфильтрованные данные. Вместо этого я получаю обобщенные данные состояния.
Например.
У меня есть список профессионалов, и я применяю фильтр по возрасту и полу, чтобы получить конкретных специалистов и после получения результата фильтра, если щелкнуть по любому результату, который был перенаправлен на новое состояние, являющееся подробным представлением этого профессионала. Теперь, если я нажму на назад в браузере, получая список всех профессионалов, но я хочу, чтобы мой фильтрованный список..
пожалуйста, помогите мне с этим..
и это может быть достигнуто, если мы передадим некоторый параметр в URL-адресе состояния во время применения фильтра.. но как добиться этого..??
Может ли кто-нибудь навестить меня на этом?
Являются ли ваши параметры запроса частью URL? Например, я выполняю пейджинг и фильтрацию в приложении, и мой URL-адрес выглядит следующим образом:
Теперь состояние в интерфейсе UI Router, которое сопоставляется с этим, выглядит так:
.state("accounts.search", {
url: "/search?searchText&pageSize&pageNumber&someBool&someBool2",
params: {
searchText: { value: "", squash: true },
pageSize: { value: "25", squash: true },
pageNumber: { value: "1", squash: true },
someBool: { value: "false", squash: true },
someBool2: { value: "false", squash: true }
},
controller: "accountsController as vm",
templateUrl: "site/accounts/search/accounts.html",
data: { pageTitle: "Accounts" },
resolve: { //...resolve data here... },
someOtherStuffIfNeeded: { //stuff here}
}
})
Взгляните на документацию для ui router, не используя раздел параметров состояния, который объясняет значения по умолчанию и что делает сквош. ВАЖНО отметить, что params являются строками (извещение false - "false"). Надеюсь это поможет.