0
我见过this thread关于如何追加/修改查询参数而不重复,但我不能让它工作。如何使用铁路由器动态设置查询字符串或参数?
我在我的Meteor应用程序中有一个页面,列出项目并允许过滤。我希望筛选功能是基于网址的,因此每次对筛选器所做的更改都应反映在网址中。 我使用铁路路由器,然后相应地更新订阅。
由于某些原因,我无法修改查询字符串。如果从Template.templateName.events(...)
称为此代码不会触发任何动作:
# valuePairs = ["foo=bar", "bar=foo"]
newUrl = Router.current().route.path {}, { query: valuePairs.join('&') }
Router.go newUrl
但如果我叫Router.go(newUrl)
从命令行,预期的结果发生,即URL更新。
是否有另一种首选方法来修改查询?
如果不是,我怎样才能让上面的代码工作?
UPDATE - 我刚刚发现运行事件后,如果我回到浏览器历史记录中,我可以看到正确的URL。它看起来像(?)触发另一个页面加载回到原始页面。
哦,我已经完全忘记了这个问题。您在这里提出的问题在我仍然遇到问题时已在[GitHub]上解决(https://github.com/iron-meteor/iron-router/issues/900#issuecomment-59673360)。无论如何,谢谢你。我(亲自)发现'event.preventDefault()'更具可读性/明显性,但这只是首选项。 – 2015-07-09 14:51:36