在emberjs論壇發表了這個,但是SO似乎更合適。導致數據重載/替換的嵌套路由?
嗨!我有兩條路線叫做classyears和classyear。嵌套的時候,像這樣:
this.resource('classyears', function(){
this.resource('classyear', { path: '/classyear/:classyear_id'});
});
Posterkiosk.ClassyearsRoute = Ember.Route.extend({
model: function() {
return Posterkiosk.Classyear.find();
}
});
Posterkiosk.ClassyearRoute = Ember.Route.extend({
model: function(model) {
return Posterkiosk.Classyear.find(model.classyear_id);
}
});
我的模板是:
Classyears:
<div class="yearList">
{{#each item in model}}
{{#linkTo 'classyear' item}}{{item.id}}{{/linkTo}}
{{/each}}
</div>
{{outlet}}
Classyear:
<div class="transformContainer">
{{trigger sizeComposites}}
{{name}}
{{#each students}}
{{partial student}}
{{/each}}
</div>
( 「觸發器」 助手是從另一個SO但是在添加之前發生了這個問題)
我正在使用Ember模型RESTAdapter。當我加載/ classyear /:classyear_id時,它看起來像classyear正在渲染其數據兩次。一旦使用正確加載的數據,並且一次沒有加載數據。該訂單似乎是隨機的。如果最後發生無數據選項,則會清除正確加載的數據,並留下空白頁。反之亦然,頁面內容顯示得很好。
有什麼想法?
/編輯2:更多信息:
看起來好像0紀錄的答覆是classyears加載。所以,在我的hasMany字段「學生」中,零記錄回覆可能只是零記錄。
如果我加載/ classyears(沒有指定班級年份),它只加載一次,以獲得班級年選項。如果我然後點擊課程年,它不會重新加載classyear,除非我刷新頁面,此時它將加載這兩個頁面,並且如果classyears加載(findall)第二次完成,它將不顯示頁面上的任何數據(其他而不是類年模板,正確填充,在頂部)。
所以......也許我的classyears模型沒有正確處理hasMany字段?
我覺得我越來越近,但仍不確定發生了什麼。
您可以將您的classyear模板添加到您的問題嗎? – intuitivepixel
編輯添加兩個模板。 –
這是有點舊,但可能有一些有用的信息http://stackoverflow.com/questions/16246586/ember-data-sideloaded-properties-being-dropped-on-a-model – ianstarz