Meteor的Iron Router:在客户端和服务器端获得查询参数
那里
在我的应用程序中,如果有人在URL上传递参数,我想在模板上做不同的事情。
我知道我可以在服务器端使用this.params.query
查询string,但我怎么可以传递给客户端或在客户端获取此值?
在我的情况下,我会发送一个可选的redirect
的URL,如果它通过,主任务后,我的应用程序将redirect到给定的url的用户。 但是我只知道如何在服务器端看到redirect
,而不是在客户端,所以当我提交表单时,这些信息就会丢失
你可以帮帮我吗?
您可以通过以下方式访问模板中的路由器参数:
Router.current().params.query
也许在你的路线,你可以这样做:
onBeforeAction: function() { Session.set("query", this.params.query); this.next(); },
然后在客户端的某个地方,你可以像这样做一个帮手:
Template.yourTemplateName.helpers({ query: function() { return Session.get("query"); } });
我不知道如何处理你的redirect,但也许它会在帮手。 所以你的html会是这样的:
{{#if query}}{{query}}{{/if}}
而在助手中,你可能用“Router.go('/ where-you-want-to-going')”replace“return Session.get(”query“)。 或者,如果查询是肯定的,只需写另一个帮助程序即可在HTML中运行。