コレクションからオブジェクトのリストを返すメソッドを持つnamedがTemplate
あります。movies
オブジェクトのリストを生成するクエリは、別のテンプレートメソッドからのデータを使用して動的に作成されます。
フィルタデータが変更されるたびに、テンプレート、またはその特定のテンプレートメソッドに関連付けられたコンポーネントのみを再レンダリングしたいと思います。
使用される2つの方法は次のとおりです。
Template.movies.filter = function () {
if (Session.equals("filter", undefined)) {
return {};
}
return Session.get("filter");
};
Template.movies.movies = function () {
return Movies.find(Template.movies.filter(), {sort: [["Poster", "desc"]]});
};
HTML側では、メソッド{{#each movies}}{{> movie}}{{/each}}
の結果を表示するのは簡単です。movies
問題は、Session.get("filter")
変更が行われると、データにTemplate.movies.filter()
依存するHTMLコンポーネントTemplate.movies.movies()
が新しいクエリ結果で更新されないことです。
どうすればその動作を実現できますか?