【问题标题】:Customize loading template for non-nested ember route自定义非嵌套 ember 路由的加载模板
【发布时间】:2014-10-22 00:04:38
【问题描述】:

使用 ember:1.7.0

我正在尝试使用不同的加载模板,具体取决于在我的应用中转换到的路线。我的所有路线都不是嵌套的(即包含在资源中)。我只能让 ember 提供应用程序 loading 模板。在非嵌套路由的情况下,有没有办法覆盖此行为?

这是一个 jsbin 说明问题:

  1. 定义了两个加载模板loadingtop-loading
  2. 当加载应用程序时,会转换到top 路由。
  3. 我希望这会触发 top-loading 模板,但它会触发 loading 模板。

http://emberjs.jsbin.com/pamego/1/

提前感谢您的帮助!

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    我将在我质疑你问题的前提的地方做那件事:

    如果您的路线没有嵌套,那么将它们视为资源应该没有害处。路由仅在嵌套时具有特殊行为(它们不会重置其命名空间)。

    从概念上讲,将这条路线更改为资源是可行的。 “加载”状态实际上是一种增强或“顶部”的特殊形式。当某物具有这样的多个状态时,将其建模为资源是有意义的。有了所有这些序言,我建议:

    http://jsbin.com/javihuceqo/1/edit?html,js,output

    【讨论】:

      【解决方案2】:

      问题是你的路由只嵌套了一层,所以应用程序级的加载子状态是活动的。如果您有一个低于 2 级的 Route,例如“FooBar”,那么尝试加载 FooBarRoute 模型将导致显示 foo/loading 模板。

      请参阅this jsbin for an example

      【讨论】:

      • 感谢您的回答。您实际上都是对的,但我不想将 URL 与另一个级别混淆。再次感谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2017-04-15
      相关资源
      最近更新 更多