有人可以帮我理解 Meteors 模板的行为吗?
我想在我的项目中实现一个通知系统,类似于 Apples Growl。当一条记录写入数据库时,它使用简单的 jQuery 效果来显示一条消息。我简化了代码示例,以显示基本问题:
编码:
var Messages = new Meteor.Collection("messages");
if (Meteor.isClient) {
Template.Notification.Message = function() {
return Message.findOne({}, {sort: {seq: -1}});
};
Template.Notification.rendered = function() {
$("#livebar").fadeIn(400).delay(1000).fadeOut(400);
}
}
模板:
<template name="Notification">
<div class="row">
<div class="span6 alert alert-error" id="livebar" style="display:none;">
{{Messages.text}}
</div>
</div>
</template>
如果页面被渲染,一个空的不可见区域会被 jQuery 效果渲染,然后系统会加载响应式数据源(消息)并再次渲染该区域!我试图阻止它渲染两次,但没有成功。该错误似乎很容易修复,但我被困在这里。我将不胜感激任何帮助!