私は meteor を使用していますが、ドキュメントの公開/購読と、handlebars#each items
ヘルパーを使用したクライアントへのコレクションのクエリ/返却との関係について少し混乱しています。
特定のドキュメントを公開して購読することにより、状況が変化したときにクライアント側のブラウザーで反応的な更新が行われることを理解しています。
私は自分で非常に複雑な (役割指向の) 公開関数を作成し、アイテムをクライアントに返すのと同等の関数を作成していることに気づきました。例えば、
Meteor.publish("directory", function () {
var user = Meteor.users.findOne({_id:this.userId});
//role and logic left out on purpose
return Meteor.users.find({}, {fields:{emails:1, profile:1}});
});
そしてサブスクライブ
if (Meteor.userId() != null) {
Meteor.subscribe("directory");
}
テンプレートは show people と呼ばれ、ヘルパーは「users」です
Template.show_people.users = function () {
users = Meteor.users.find({}).fetch();
return users;
};
私の質問は、物事はこのように行われるべきですか?. パブリッシュに使用したのと同じクエリをリスト ヘルパーに返しますか?