我试图在用户发布的评论的反应性 {{#each}} 中淡入新元素。
我在https://gist.github.com/3119147有一个非常简单的评论部分的代码示例(不包括 textarea 和新评论插入代码,但它非常样板。)。包括我给出的 CSS 片段.comment.fresh { opacity: 0; }
,然后在我的脚本中,我有:
Template.individual_comment.postedago_str = function() {
var id = this._id;
Meteor.defer(function() {
$('#commentid_'+id+'.fresh').animate({'opacity':'1'}, function() {
$(this).removeClass('fresh');
});
});
return new Date(this.time).toString();
};
这似乎是一个执行动画的可怕地方。我的想法是,每次呈现新评论时,都需要调用我的所有Template.individual_comment.*
函数,这就是为什么我的动画与其中一个函数不同的原因。Template.individual_comment.postedago_str()
但是,每次插入不同的集合(喜欢)时,Meteor 都会调用。这意味着我单击“赞”按钮,我的整个评论列表会闪烁白色并淡入(非常烦人!)。
我阅读了 Meteor 文档并试图弄清楚如何更好地分割我的模板以便只有块会更新,并且我在所有看起来合理的地方添加了 id="" 属性.. 仍然是这个错误。有谁知道发生了什么?
蒂亚!