2017-02-10 5 views
0

die Funktion Route.transitionTo benutzen, kann ich anrufen,
Übergabe eines Objekts als Abfrage-Parameter params in link-to

this.transitionTo('posts', {queryParams: {sort: 'title'}}); 

Also, sagen, ich habe ein Objekt,

qpms={sort:'title'} 

jetzt kann ich es machen,

this.transitionTo('posts',{queryParams:qpms}); 

ich weiß auch, dass in der Vorlage,

{{#link-to 'posts' (query-params qpms)}}text{{/link-to}} 

statt,

{{#link-to 'posts' (query-params sort="title")}}text{{/link-to}} 

wird nicht funktionieren.

Gibt es eine Möglichkeit, den gleichen Effekt wie von der Route.transitionTo Funktion, in der Link-to-Helfer ??

dass also in dem Pfosten-Controller, kann ich es immer noch so,

queryParams: ['sort'], 
sort: null, 

??

+0

bitte mehr Code platziert, so dass ich Ihnen klar verstehen. – Shayan

Antwort

1

Nein, Sie konnte nicht.

Mit der aktuellen Implementierung von query-params Helfer konnte man es nicht erreichen.

Aber Sie können Ihren eigenen Helfer erstellen, um zu arbeiten.

Bitte nehmen Sie sich einen Blick auf this twiddle

0

Wenn ich verstehe Sie korrigieren, können Sie Sie params auf eine wie auf Vorlage

{{#link-to 'posts' qpms}}text{{/link-to}}

Auch sicher sein, verwenden Vorbeigehen, dass qpms in Controller definieren müssen, Route oder Component. wie unten

// Component 
export default Ember.Component.extend({ 
    qpms: {sort: 'title'}, 
}) 
// Controller 
export default Ember.Controller.extend({ 
    qpms: {sort: 'title'}, 
}) 

ODER
http://site/#/url/params/SORT

export default Ember.Route.extend({ 
    model(params){ 
     return params; 
    } 
}); 

Hinweis :: dass es nicht notwendig obigen Code, Ember automatisch url params zurückkehren

+0

Ihr Beispiel ist für dynamische Segmente und keine Abfrage von Parametern –

+0

, so erhalten Sie die Parameter von Route (URL)? – Shayan

Verwandte Themen