如何在Iron-router中获取查询参数?

Pat*_*Pat 27 meteor iron-router

我想在网址中获取查询参数.

似乎没有一种简单的方法可以做到这一点......

这让我觉得我一定错过了文档中的某些内容.

Fly*_*her 44

打电话吧

Router.current().params //params is the dict you wanted

在Iron Router 7.1+中


Wes*_*des 24

有趣的是,三个答案,没有人提供完整的答案.

Iron-Router 1.0.x

从路线内,使用:

// URL: http://example.com/page/?myquerykey=true
this.params.query   // returns the full query object
this.params.query.myquerykey   // returns a particular query value
Run Code Online (Sandbox Code Playgroud)

同样,在路径之外(但仍在客户端代码中),在模板内部,使用:

// URL: http://example.com/page/?myquerykey=true
Router.current().params.query
Router.current().params.query.myquerykey
Run Code Online (Sandbox Code Playgroud)

查询参数,不要与通过URL传递的参数混淆.

  • 做得好,这应该被接受为正确,完整的答案. (3认同)

Dav*_*don 19

铁路由器> = 1.0

路径的查询参数可用作属性this.params.query.

如果您的网址如下所示:

/posts/5?sort_by=created_at
Run Code Online (Sandbox Code Playgroud)

那就this.params.query.sort_by等于'created_at'.


铁路由器<1.0

路径的查询参数可用作属性this.params.

如果您的网址如下所示:

/posts/5?sort_by=created_at
Run Code Online (Sandbox Code Playgroud)

那就this.params.sort_by等于'created_at'.

  • 现在这是Iron Router v1.0中的this.params.query.sort_by. (2认同)

wai*_*kuo 17

在Iron Router 1.0.0中,您需要使用

this.params.query.YOUR_PARAMETER_NAME
Run Code Online (Sandbox Code Playgroud)

为拿到它,为实现它

例如,如果您的路线是/ xxx /?a = b

this.params.query.a
Run Code Online (Sandbox Code Playgroud)

输出'b'