我正在尝试实现延迟加载分页。我有一个模型,代表分页视图中的“页面”。它包含一组分页对象以及一组嵌套的其他“页面”。 (参见https://gist.github.com/hooverlunch/6314207)我不希望仅在点击链接后才加载其他页面的对象数组。
但似乎路由的模型方法只在首次加载页面时触发一次。
有没有办法在每次点击相关链接时触发它?或者有更好的方法吗?
答案 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);
}
}
});