我有一个Template
named movies
,它有一个从集合中返回对象列表的方法。生成该对象列表的查询是使用来自另一个模板方法的数据动态创建的。
每当过滤器数据更改时,我想重新渲染模板,或者只是与该特定模板方法关联的组件。
以下是使用的两种方法:
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()
,依赖Template.movies.movies()
数据的 HTML 组件不会被新的查询结果更新。
我将如何实现这种行为?