Мне интересно, как "перезагрузить" текущее состояние, передав новый параметр, чтобы мой контроллер снова инициализировался.
Я пытаюсь выполнить поиск в моем боковом элементе управления - и в исходном поиске используется $state.go для перехода к моему новому состоянию следующим образом:
if ($event.type === 'click' || $event.keyCode === keyCodes.enter) {
$state.go("people.search", { search: vm.searchText });
Если я нахожусь в другом состоянии приложения, и приведенный выше код работает, все работает правильно. Итак, я перехожу в поисковый запрос как параметр, а $state.go переводит мое состояние в состояние people.search, а мой контроллер людей (содержащий функцию поиска) получает удар. Но как только я нахожусь в состоянии people.search и пытаюсь использовать элемент управления поиска, код контроллера пользователя больше не попадает и параметры не обновляются.
Я пробовал модифицировать код:
$state.go("people.search", { search: vm.searchText }, { location: "replace" });
Теперь, когда я нахожусь в текущем состоянии, это обновит URL с моим новым поисковым термином, но код контроллера не срабатывает.
Мне нужен способ принудительно перезагрузить то же самое состояние, в котором я сейчас включен, чтобы новый параметр поиска обновлялся, а код контроллера пользователя снова запускался.
Как перезагрузить текущее состояние?