我正在嘗試實現延遲加載分頁。我有一個代表分頁視圖中的'頁面'的模型。它包含一組分頁對象和一組其他「頁面」的嵌套集合。 (請參閱https://gist.github.com/hooverlunch/6314207)我不想在點擊鏈接後才加載其他頁面的對象數組。在Ember.js中延遲加載?
但似乎路由的模型方法只觸發一次,當頁面第一次加載。
有沒有什麼辦法可以在每次點擊相關鏈接時觸發它?還是有更好的方法來做到這一點?
我正在嘗試實現延遲加載分頁。我有一個代表分頁視圖中的'頁面'的模型。它包含一組分頁對象和一組其他「頁面」的嵌套集合。 (請參閱https://gist.github.com/hooverlunch/6314207)我不想在點擊鏈接後才加載其他頁面的對象數組。在Ember.js中延遲加載?
但似乎路由的模型方法只觸發一次,當頁面第一次加載。
有沒有什麼辦法可以在每次點擊相關鏈接時觸發它?還是有更好的方法來做到這一點?
當您通過url直接訪問路線時,會調用模型掛鉤,但在您使用linkTo helper或通過transitionTo傳遞上下文時不會調用模型掛鉤。如果在這些情況下需要調用某些內容,請改用路由的setupController鉤子。
見In Ember.js does setupController and model hooks work only for dynamic segments?
在您的路線創建一個動作
<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);
}
}
});
作爲事實上,現在我徹頭徹尾的困惑,爲什麼模型方法不擊中每個鏈接點擊.... – hooverlunch
哦,等等,現在我明白了。如果已經存在,則不需要加載模型。但那我該怎麼辦?也許是路線上的過渡事件? – hooverlunch