2017-12-01 3 views
0

Ich möchte ein @word-Formular als Suchbegriff filtern. Ein Suchstring könnte milk @company sein. Von dieser Zeichenfolge würde ich 'Milch' als SearchTerm verwenden und ich brauche '@Firma' als einen anderen Suchparameter. So kann ich Folgendes tun: domain.com/?searchTerm=Milk&Producer=company mit einer http-Anfrage.Wie filter ich ein Wort, das mit @ beginnt, formiere einen String in angular 2

in meiner Vorlage:

<ion-searchbar [(ngModel)]="searchTerm" (ionInput)="searchResults(searchTerm)" [placeholder]="search" ></ion-searchbar> 

die search Funktion:

searchResults() { 
    let searchterm = this.searchTerm; 
    let producer = // how filter @word? from this.searchTerm string 

    this.searchProduct(searchTerm, producer).then(
     data => { 
      console.log('data') 
     } 
    ); 
} 

der Aufruf an die api Anbieter:

public searchProduct(product,producer){ 
     var sendUrl = `http://example.com/?searchTerm=${product}$producer=${producer}`; 
     this.http.get(sendUrl, { headers: new Headers(HEADER.default) }) 
      .map(res => res.json()) 
      .subscribe(data => { 
       resolve(data); 
     }); 
    } 
+0

Ist es nur ein '@ Wort' oder kann es' n @ Wort' sein? –

+0

ein @word, könnte alles sein, nur mit einem @ beginnen –

Antwort

1

Sie können einfach den String Split-Methode verwenden und Verwendung das '@' als Trennzeichen

const searchWords = this.searchTerm.split(‘@‘) 

Dies sollte Ihnen ein Array mit den Wörtern geben.

Verwandte Themen