2016-04-25 16 views
4

Ich versuche, die URL-Parameter in meine Komponente zu erhalten, um mit einem externen Service zu suchen. Ich lese, dass ich angle2 routes benutzen kann und params mit RouteParams bekomme, aber ich glaube nicht, dass ich das brauche, weil die erste Seite meiner eckigen Anwendung eine Razor-Ansicht ist.Angular 2: Wie bekomme ich Params von URL ohne Routing?

Ich werde versuchen, besser zu erklären. Meine URL wie folgt aussieht: http://dev.local/listing/?city=melbourne

ich meine Stammkomponente in einer Rasierklinge Ansicht mit so etwas wie dem Laden:

<house-list city = "@Request.Params["city"]"></house-list> 

dann auf meiner Stammkomponente ich habe:

export class AppComponent implements OnInit { 
    constructor(private _cityService: CityService) { } 

    response: any; 
    @Input() city: any; 

    ngOnInit() { 
     this.getHouses(); 
    } 

    getHouses() { 
     this.__cityService.getHousesByCity(this.city) 
      .subscribe(data => this.response = data); 

    } 
} 

So Ich hatte erwartet, dass die 'Stadt' in meiner Komponente die Zeichenfolge aus der Rasiereransicht erhält, aber sie ist nicht definiert.

Was mache ich falsch? Gibt es eine Möglichkeit, die Parameter ohne Routing zu erhalten? Wenn nicht, was ist der richtige Weg, um Rasierer zu verwenden?

Antwort

3

Angular bietet keine spezielle Unterstützung dafür. Sie können verwenden How can I get query string values in JavaScript?

Von dem, was ich gesehen habe Location ist geplant, überarbeitet werden, um Unterstützung für Get-Abfrage-Parameter auch ohne Verwendung des Routers bereitzustellen.

+0

Danke Günter, aus irgendeinem Grund habe ich vergessen, dass ich einfach JavaScript verwenden kann. Das hat den Trick gemacht. In Bezug auf den Parameter, der an die Root-Komponente übergeben wird, konnte ich es nicht funktionieren lassen. Weißt du, ob das überhaupt möglich ist? Ich nahm an, dass, weil dieses Tag nicht Teil einer Angular-Vorlage ist, es nicht von Angular verarbeitet wird, sondern nur um es durch die richtige Wurzelkomponente zu ersetzen? –