Как я могу обновить index.htm проекта angularJS? - PullRequest
1 голос
/ 25 апреля 2019

Я подал заявку с angularJs, и у меня там много просмотров.Я тоже много работаю с маршрутизацией.Моя проблема в том, что у меня есть индексная страница, которая содержит панель поиска.И эта панель поиска должна переключать свой контроллер в зависимости от текущего пути.Но так как панель поиска принадлежит странице указателя, она не обновляет свой путь (исправьте меня, если я здесь ошибаюсь).

Есть ли возможность принудительно перезагрузить всю страницу или есть лучшие решения

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Возможно, вы захотите разделить его немного дальше, и у вас будет доступно следующее:

  • директива / компонент searchBar, содержащий ввод, историю и т. Д.
  • Сервис SearchServiceкоторую searchBar может вызвать, когда текст поиска изменяется.Это также позволит другим компонентам подключаться к.

Например, если у вас несколько контроллеров:

searchService.onSearch(function(searchFor){....});

Каждый контроллер может затем предоставить прослушиватель поиска для службы поиска.Вам не нужно «менять контроллеры» в панели поиска или вносить какие-либо реальные изменения в SearchService без улучшения.Но каждый активный контроллер теперь может выполнять свой собственный поиск.

В чем-то подобном, который я использую, у меня есть (MemberController):

searchService.onLookup(function(lookup){ ... perform lookup to populate drop down ...});
searchService.onSelected(function(selected) { ... now get all the information re: selected member ...});

Если у вас есть несколько представлений из-за вложенности, вывместо этого можно добавить addOnSearch (), чтобы предоставить список обратных вызовов, но для этого потребуется правильно удалить их $ onDestroy.

0 голосов
/ 25 апреля 2019

Согласно вашему требованию, панель поиска не должна размещаться в index.html.

Лучшим решением является создание общей HTML-страницы, которая может переключать свой контроллер в зависимости от текущего пути.

...