转换到在ember中保留先前内容的路由

时间:2015-01-29 17:17:09

标签: ember.js

我有一个通用路由/login,它在模态中显示登录表单。现在我希望后面的内容与之前的URL保持一致。

你是怎么做到的? 谢谢

1 个答案:

答案 0 :(得分:0)

尝试将登录模式形式实现为通用/login路由可能不是最佳选择,因为它与Ember路由的工作方式不相符,可归纳如下:

  • 给定url与(可能是多个嵌套的)路由匹配。
  • 每个匹配的路由解析它为model,然后将相应的模板呈现给适当的outlets。以前路线的模板已被删除。

导航到通用/login会消除前一个路由呈现的模板 - 即模态背景中没有内容(另请参阅related question)。

我建议:

  1. 不在模态对话框中呈现/login路由,而是在主应用outlet中呈现,然后才将用户重定向到上一个路由。由于用户可能不需要来自模态背景的任何信息,因此UI体验可能并没有太差。
  2. 您可以使用查询参数,例如,不使用通用/login路由。 ?should_login=true上的ApplicationController会在适当的插座中呈现登录模式。这样,主要应用程序状态仍将封装在路径URL中,因此前一个模板将在模态背景中正确呈现。可以找到有关如何处理模态对话框的建议方法here