Как я могу получить индексную страницу для ввода запроса, а затем вернуть результат на другой странице (просмотр) с помощью angularjs?
Все обучающие материалы, которые я прочитал в Интернете, показывают окно поиска, которое принимает запрос и мгновенно печатает результаты под ним на одной странице (или говорят "вид" на языке MVC?). Я хочу, чтобы отдельная страница просто удерживала окно поиска, позволяла пользователю вводить то, что она хочет, а затем нажимала кнопку go, которая затем возвращала результаты на отдельной странице (в которой нет окна поиска).
Вам нужно сохранить значение поля поиска где-то перед переходом на вторую страницу. Вы можете сделать это несколькими способами.
Один из способов - использовать службу для хранения значения, а затем страницу результатов может получить ее оттуда.
Обслуживание:
.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
вы используете одностраничное приложение (SPA)? вы можете сделать это несколькими способами с частичным представлением и переопределить частичный вид на странице поиска с помощью страницы результатов.
надеюсь, это поможет вам.
$location.path('/second_view');