【问题标题】:Delaying route change until data is loaded in Ember延迟路由更改,直到在 Ember 中加载数据
【发布时间】:2013-06-18 21:57:22
【问题描述】:

在 Angular 中,$routeProvider 解析属性允许延迟路由更改,直到加载数据。鉴于 Ember 中的路由模型钩子返回了一个承诺,我想知道这些东西在 Ember 中是如何完成的

这就是我在角度 Delaying AngularJS route change until model loaded to prevent flicker 中的意思

带有示例代码的链接会很棒

【问题讨论】:

    标签: ember.js ember-router


    【解决方案1】:

    就在最近,PR 向 ember.js 引入了异步转换。通过此更改,您可以执行各种操作,例如,如果数据仍在进行中,则延迟路由的转换。一条路线现在有各种各样的钩子可以随心所欲地做。

    作为一个例子(取自下面提到的要点)afterModel钩子中你可以做这样的事情来只转换到post.show路线如果你真的有数据: p>

    App.PostsIndexRoute = Ember.Route.extend({
      afterModel: function(posts, transition) {
        if (posts.length === 1) {
          this.transitionTo('post.show', posts[0]);
        }
      }
    });
    

    由于这个新功能还很年轻,您需要使用latest master 才能使用它。有关如何使用 API 的更多信息,请see this gist

    希望对你有帮助

    【讨论】:

    • 我看到了一些关于异步转换的 cmets,但只是评论。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多