En passant les paramètres de la requête à l'aide du Routeur.aller en fer routeur
Je suis en train de passer les paramètres de la requête dans le Routeur.aller comme ci-dessous:
var filter = 'abc';
var path = Router.current() && Router.current().path;
Router.go(path, {query: {filter: filter}});
Mais cela ne change pas l'url, il stills des charges actuel chemin sans la chaîne de requête. Mais si j'ajoute le paramètre de requête manuellement le chemin comme:
Router.go(path+'?filter='+filter);
cela fonctionne bien. Mais depuis que je suis en train de charger même page avec les données filtrées. Donc en cliquant sur le bouton filtre à plusieurs reprises ajoute la chaîne de filtre de nouveau et de nouveau chemin.
Quelle est la bonne façon de passer de la chaîne de requête à l'aide de fer routeur?
OriginalL'auteur Aashu Agarwal | 2014-08-28
Vous devez vous connecter pour publier un commentaire.
Là, dans les docs
Le JavaScript ci-dessus permettra d'accéder à cette url:
https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#named-routes
OriginalL'auteur Max Hodges
Les paramètres sont
Router.go(path, params, options)
. La partie requête devrait aller dans leoptions
paramètre, essayez alors la suivante:Router.go(path, {}, {query: {filter: 'filter='+filter}})
.MODIFIER
Réponse mis à jour selon les Merles commentaire ci-dessous.
Cette réponse est presque correct. la requête doit être une chaîne de caractères comme
Router.go(path, {}, {query: "filter=filter"})
. De Fer Routeur de la ligne source 220 github.com/iron-meteor/iron-router/blob/devel/lib/...Hehe, 5 fois voté réponse, et c'est mal ;P Mais bonne prise, qu'il faut expliquer pourquoi il n'a pas travaillé pour Aashu.
OriginalL'auteur Peppe L-G
J'ai trouvé que si votre premier paramètre dans le Routeur.le go est un chemin, au lieu d'un nom de modèle, le filtre de la requête n'est pas passé. Utiliser un nom de modèle:
OriginalL'auteur dpatte
Essayez ceci:
Qui devrait vous donner le chemin d'accès sans la chaîne de requête ci-joint.
OriginalL'auteur richsilv