2016-06-21 11 views
0

Ich habe eine eckige App, jeder Zustand besteht aus zwei Komponenten: Navbar und Komponenten unter der Navbar. In der unteren verwende ich ng-repeat einige Elemente zu zeigen, und ich brauche Filter zu verwenden:Wie benutzt man ng-repeat in einer Vorlage, die Filterabfrage von einer anderen nimmt?

<div class="col-sm-2 store__item col-centered" ng-repeat="book in vm.books | toArray | orderBy:query" > 
    ... 
    </div> 

jedoch ng-Modell = „Abfrage“ ist in anderer Vorlage, aus der navbar Komponente:

<form class="navbar-form navbar-left" role="search"> 
     <div class="form-group"> 
      <input type="text" class="form-control" placeholder="Search" ng-model="query"> 
     </div> 
</form> 

Wie kann ich sie binden, so dass Filter Abfrage von Navbar nehmen würde? Danke

Antwort

0

paar Vorschläge,

  1. Sie können das Modell „Abfrage“ halten - in der $ rootScope so Ihre beiden Komponenten kann das gleiche Modell zugreifen.
  2. Verwenden Sie den Event-Manager des Winkels, $ broadcast/$ emit, Dies ist mein empfohlener Weg, da es die entkoppelte Architektur folgt.