在Ember.js中加载延迟?

时间:2013-08-23 00:25:25

标签: ember.js

我正在尝试实现延迟加载分页。我有一个模型,代表分页视图中的“页面”。它包含一组分页对象以及一组嵌套的其他“页面”。 (参见https://gist.github.com/hooverlunch/6314207)我不希望仅在点击链接后才加载其他页面的对象数组。

但似乎路由的模型方法只在首次加载页面时触发一次。

有没有办法在每次点击相关链接时触发它?或者有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

当您通过url直接访问路径时会调用模型钩子,但是当您使用linkTo helper或通过transitionTo传递上下文时,不会调用模型钩子。如果在这些情况下需要调用某些内容,请改用route的setupController挂钩。

请参阅In Ember.js does setupController and model hooks work only for dynamic segments?

答案 1 :(得分:0)

制作动作

<button {{action 'goToPage' pageObj}}>{{pageObj.id}}</button>

在您的路线中添加

 Myember.KbGlyprobsPageRoute = Ember.Route.extend({
  events: {
    goToPage: function(pageObj){
      var newPage = Myember.KbGlyprobPage.find(pageObj.id);
      this.transitionTo('Page', newPage);
    }
  }
 });