Meteorsテンプレートの動作を理解するのに手伝ってもらえますか?Meteor.jsテンプレートがデータなしでレンダリングされないようにする方法
Appleの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エフェクトを使用して、反応性のあるデータソース(Message)をロードし、再度領域をレンダリングします。 私はそれが2回レンダリングされないようにしようとしましたが、成功しませんでした。エラーは修正するのが非常に簡単だと思われますが、私はここで立ち往生しています。私はどんな助けもありがとう!
template.templateName.createdとMeteor.deferを試してください – crapthings