在 Iron-Router 中为相同 URL 推送新状态

Posted

技术标签:

【中文标题】在 Iron-Router 中为相同 URL 推送新状态【英文标题】:Pushing new state for same URL in Iron-Router 【发布时间】:2014-03-30 12:25:52 【问题描述】:

我可以在 Meteor 中使用 Iron-Router 将新状态推送到浏览器的历史记录中,而无需访问新 URL?

我想显示一个模式,但允许用户使用后退按钮再次隐藏它。

【问题讨论】:

【参考方案1】:

没试过这个,但我认为是基于

Router.go(Router.current().request.url + '/modal')`

可能会奏效。您使用可选参数定义您的路线,如果它是'modal',则显示模式。如果您有 URL 参数,这可能会导致问题,在这种情况下,您必须更巧妙地处理 URL。

【讨论】:

谢谢,但前提是不要更改网址。将状态推送到历史记录而不在地址栏中反映它是一种有效且有用的用户体验模式。【参考方案2】:

AFAIK 你不能使用 Iron Router 包“静默”地推送浏览器状态。但是,您可以使用 one of these methods 或包装此包的 html 5 History API package - https://github.com/devote/HTML5-History-API

【讨论】:

以上是关于在 Iron-Router 中为相同 URL 推送新状态的主要内容,如果未能解决你的问题,请参考以下文章

Iron-router中的中间件

Iron-Router 模板内的上下文

Meteor js,iron-router,在服务器端使用 Route.go('...') 进行单元测试不起作用

如何使用 Meteor 模板助手编辑 Iron-Router 中作为参数传递的值?

Meteor Atmosphere/Core Package Dependency Resolution Override (jquery, iron-router, blaze)

如何在站点配置中为相同的根页面 ID 配置多个域?