我有两个表一个是帖子,另一个是评论。我有一个只有帖子列表的页面,如果它包含评论,我需要显示一个帖子图标。
App.Comment = DS.Model.extend({
user_name: DS.attr('string'),
user_id: DS.attr('number'),
comment: DS.attr('string')
});
App.Post = DS.Model.extend({
user_id: DS.attr('number'),
comments: DS.hasMany('App.Comment',{embedded:true}),
这是样品车把
1. testpost <show icon only if comment not empty>
答案 0 :(得分:0)
要实现这一点,您可以创建一个computed property
,如果它至少包含firstObject
集,则会监听您的评论属性,这意味着有评论,如下所示:
App.Post = DS.Model.extend({
user_id: DS.attr('number'),
comments: DS.hasMany('App.Comment',{embedded:true}),
hasComments: function() {
var commentsLength = this.get('comments.length');
return (commentsLength > 0);
}.property('comments.firstObject')
});
然后在你的模板中添加一个if
助手来监听hasComments
计算属性,如果if
返回true,这将显示post.hasComments
助手之间的内容,这将是(commentsLength > 0)
评估为true
的时候:
1. testpost {{#if post.hasComments}}<show icon>{{/if}}
请参阅此处了解正常工作DEMO。
希望它有所帮助。