1

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

这就是我在角度延迟AngularJS路线更改直到模型加载以防止闪烁的意思

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

4

1 回答 1

5

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

作为钩子中的示例(取自下面提到的要点)afterModel您可以执行类似这样的操作,仅post.show在您实际有数据时才转换到路由:

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

由于这个新功能还很年轻,您需要使用最新的 master才能使用它。有关如何使用 API 的更多信息,请参阅此要点

希望能帮助到你

于 2013-06-18T23:04:04.353 回答