Как сделать поиск с отдельными видами в Angularjs?

0

Как я могу получить индексную страницу для ввода запроса, а затем вернуть результат на другой странице (просмотр) с помощью angularjs?

Все обучающие материалы, которые я прочитал в Интернете, показывают окно поиска, которое принимает запрос и мгновенно печатает результаты под ним на одной странице (или говорят "вид" на языке MVC?). Я хочу, чтобы отдельная страница просто удерживала окно поиска, позволяла пользователю вводить то, что она хочет, а затем нажимала кнопку go, которая затем возвращала результаты на отдельной странице (в которой нет окна поиска).

  • 2
    используйте общий сервис между двумя контроллерами и назначьте свой результат в сервис после выполнения поиска. Затем выполните перенаправление $location.path('/second_view');
Теги:

2 ответа

0
Лучший ответ

Вам нужно сохранить значение поля поиска где-то перед переходом на вторую страницу. Вы можете сделать это несколькими способами.


Один из способов - использовать службу для хранения значения, а затем страницу результатов может получить ее оттуда.

Обслуживание:

.service('CommonService', function(){
  this.value = '';
});

Контроллер поиска:

.controller('search', function(CommonService){
  $scope.goToResult = function(searchBoxValue){
    CommonService.value = searchBoxValue;
    // Redirect to result view
  };
});

Эта функция может быть на ng-submit формы поиска.

Контроллер результата:

.controller('result', function(CommonService){
  // Receive value of search box
  $scope.receivedValue = CommonService.value;
});

Другой способ - отправить значение по URL-адресу, например, параметры GET:

http://google.com/q?SearchBoxValue=something-i-wrote-before
0

вы используете одностраничное приложение (SPA)? вы можете сделать это несколькими способами с частичным представлением и переопределить частичный вид на странице поиска с помощью страницы результатов.

  1. поисковая страница (частичная) hit отправить запрос для получения данных.
  2. получать данные из службы
  3. перенаправление на результат (частичное представление).
  4. ты сделал.

надеюсь, это поможет вам.

Ещё вопросы

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