Фильтрация на стороне клиента.
Если вы не ищете ничего сумасшедшего, которое может быть достигнуто супер простым способом для глобального поиска. Я даже не знал, будет ли это работать, поэтому я просто сделал быструю проверку, и это так. Очевидно, что это можно было бы решить гораздо более детально и контролируемым образом, используя сервисы и внедряя их там, где они нужны. Но так как я не знаю, что вы ищете, я предоставлю это решение, если вам это нравится, согласитесь с этим. Если вы не можете мне помочь с решением для инъекций в сфере услуг
Быстрое решение - иметь широкоформатный контоллер приложения с $ rootScope ng-model. Давайте назовем его global.search.
$rootScope.global = {
search: ''
};
Для расширенного поиска в приложении.
<form>
<label>Search</label>
<input ng-model="global.search" type="text" class="form-control" />
</form>
В отдельных элементарных частях вам просто нужно отфильтровать данные на основе global.search ng-model. Два примера
<p ng-repeat="post in posts | filter: global.search">{{ post.name }}</p>
Второй шаблон с другой области
<p ng-repeat="video in videos | filter: global.search">{{ video.name }}</p>
Обратите внимание, как они оба реализовать | filter: global.search. Всякий раз, когда global.search изменяется, любые фильтры в текущем представлении будут изменены. Таким образом, сообщения будут отфильтрованы по просмотру сообщений и видео в виде просмотра видео. При использовании этой же глобальной модели global.search ng.
Я проверил это, он действительно работает. Если вам нужно более подробно объяснить иерархию установки и дочернего контроллера, дайте мне знать. Вот быстрый взгляд на полный шаблон
<html>
<body ng-controller="AppController">
<form>
<label>Search</label>
<input ng-model="global.search" type="text" class="form-control" />
</form>
<div ui-view="posts">
<div ng-controller="PostController">
<p ng-repeat="post in posts | filter: global.search">{{ post.name }}</p>
</div>
</div>
<div ui-view="videos">
<div ng-controller="VideoController">
<p ng-repeat="video in videos | filter: global.search">{{ video.name }}</p>
</div>
</div>
</body>
</html>
+1: Пригвоздил его. Спасибо чувак. –