我有一个由Ember.js建立的网站。用户可以通过网址 http://..../view?showTitle=true 访问网页。但是,我不想向用户明确公开参数 showTitle = true (意味着用户只会看到 http://..../view )。此URL自动生成,并用作重定向目标URL。因此,我必须在页面加载之前手动删除它。但我仍然需要此查询参数的此值来查询数据。有没有办法实现这一点(一个例子会很棒)?如果不刷新路由器怎么办?
答案 0 :(得分:1)
实际上,你的场景的一个例子会更大:)
在转换到路线时,还有其他一些存储数据的方法。例如:将params存储在transition
对象中或将值存储在服务中。创建重定向路由,使用beforeModel
挂钩从查询参数中获取值,然后重定向到实际路由。
一个工作示例是:ember-twiddle-1
顺便说一句,即使您没有在路线中描述queryParams
,也可以通过transition.queryParams
访问它们。这看起来有点黑客。但它有效:ember-twiddle-2(注意:它不会在同一条路线上工作。)
<强>更新强>
在setupController
挂钩处,您可以覆盖控制器参数。因此,您可以从网址中删除参数。 ember-twiddle-3