在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