2016-12-17 5 views
2

Sagen wir, ich habe 2 lists of items: verfügbare Artikel und zugehörige Artikel. jetzt möchte ich eine Suchfunktion schreiben, die API-Methoden aufruft, die die Suche nach jeder Liste (different methods) ausführen. Ich möchte die Suchergebnisse in Modelle unter Verwendung $scope object unterschreiben. So:Funktion wiederverwenden Winkel 1

$scope.availableItems.data = response.data; 

Was ist der beste Weg, um eine wiederverwendbaren Suchverfahren in diesem Fall zu schreiben?

Antwort

1

Setzen Sie Ihre Suchmethoden in einen Service ein, injizieren Sie den Service in Ihre Komponenten. Binden Sie an die Werte im Service, oder besser, erstellen Sie einen Getter in Ihren Komponenten und geben Sie den Wert aus dem injizierten Service zurück.

Etwas wie:

In Ihren Diensten:

this.searchVal = '';

executeSearch (searchTerm) { 
    // The usual http angular stuff etc. 
    .then (function (d) { 
     this.searchVal = d; // however you do it in your code 
    } 
} 

In Ihren Komponenten, in denen Sie Ihre such injizieren:

function getSearchValue () { 
    return myInjectedService.searchVal; 
} 

In Ihrer Komponente Vorlagen, bindet an den Getter, sagen Sie das getSearchValue auf dem Rahmen setzen:

{{getSearchValue()}} 
Verwandte Themen