Winkel 2, gewusst Wie: übergeben Sie ein array, um den Router mit queryParams

Gibt es eine Möglichkeit, um diese Art von url in Eckige 2?

http://www.domain.com/the-route?param[]=value1&param[]=value2&param[]=value3

Ich versuche, es zu tun, wie es sein sollte, mit queryParams mit der Router, aber wie queryParams akzeptiert ein Objekt kann ich das nicht:

this.router.navigate(['/the-route'], queryParams: { 'param[]': 'value1', 'param[]': 'value2', 'param[]': 'value3' });

Weil, natürlich, ich kann nicht den gleichen Namen verwenden (param[]) mehrmals in das Objekt

Ich bin zu kämpfen, wie Sie dies tun, kann aber nicht einen Weg finden,

Ich habe gesehen, dass dieses post:
Winkel-2: array-router-queryString. Aber es gibt keine richtigen Antworten

Ich denke, die Frage sollte sein, warum würden Sie wollen Ihren params in diesem format? Router naviagtion ist nur dafür gedacht, lokale navigation über diesen link (mit Parameter) wird nie am Ende auf dem server. Sind Sie sicher, Sie sind auf der Suche nach lokalen nav? Oder willst du einen server hier nennen (dann kann ich verstehen das array-format)?
Ja MikeOne, möchte ich ein Server-Aufruf über einen Dienst abzurufen, einige json-Daten
Über eine service? Okay. Sie navigieren hier auf einer festgelegten route, die wahrscheinlich eine Komponente verwendet. Wo kommt der service (du meinst ein Eckiges service hier?) passieren? Mein Punkt ist, wenn Ihr server erwartet, dass dieses format BEKOMMEN, die Sie beheben sollten, in ia service. Einen router aufrufen, wird nur die route dieser Daten in eine andere Komponente, wo Sie sich Parsen es wieder usw. Vielleicht bin ich auch nicht verstehen, was Sie versuchen zu erreichen..
Gut @MikeOne, ich bin die beabsichtigen, das zu tun etwas ähnliches wie die Airbnb-Website. Wie ändern Sie Ihre such-Einstellungen in dem Suchformular-Komponente, die URL der Seite ändert sich entsprechend, um diese Präferenzen. Und dann die Wichtigste Komponente, der abonniert die ActivatedRoute, ein Aufruf an den Dienst mit der queryParams. Und der Service macht einen Aufruf an die API. Die API gibt Json-Daten. Diese Json-Daten gesendet zurück zu der Haupt-Component über ein Abonnement. Und die Wichtigste Komponente stellt die Daten in der Vorlage. Vielleicht klingt kompliziert, aber Es ist ziemlich einfach.
Ich verstehe, was Sie wollen, ich denke, aber warum verwenden Sie speziell, dass sich wiederholende Daten-format in den GET-string (airbnb nicht!)

InformationsquelleAutor Antop | 2017-02-23

Schreibe einen Kommentar