我有一个页面,列出了一个可以过滤的集合。 由于这些项目有一些奇特的效果(悬停调暗),因此必须在页面加载后应用它们。
这样可以正常工作,但是当我选择隐藏项目的条件,然后通过删除该过滤器重新显示它时,这些效果将不再应用于这些项目。
我尝试创建template.rendered
函数,但这只适用于第一页加载。
我还认为在'hover #mydiv: function () {...}'
部分添加template.events
可能会有所帮助,但这仍然无效。
我甚至试图听取可以应用过滤器的下拉列表('change #myselect': function () {...}
)中所做的更改,但这些更改无效。
我还尝试将其绑定到依赖项,该依赖项在选择条件时提交,但也已失败。
有什么建议我应该尝试一下吗?
谢谢, 亚历
修改1:
这就是我对过滤器的处理方式:
Template.search.events
中的:
'change #search-skills-select': function () {
Session.set('searchFilter', $('#search-skills-select').val());
}
然后转到:
/* This is of course properly handled for nulls, undefineds, etc. */
var searchFilterString = Session.get('searchFilter');
Profiles.find({profileAttributes: {
$all: searchFilterString
}
});
答案 0 :(得分:1)
您可以在您的子模板(显示和消失的模板)上执行此操作:
<template name="mytemplate">
<div id="my-magic-div">
.. stuff goes here ..
{{add_my_special_behavior}}
</div>
</template>
然后添加代码:
Template.mytemplate.add_my_special_behavior = function () {
Meteor.defer(function () {
// in here, `this` means the template context
});
};