查看我的简单收藏:
{_id: "01",
name: "Jimmy",
canDrive: false }
找到document
后我想要做的是操作DOM并在字段<div class="driving-tutorial>
值为canDrive
时显示false
并隐藏它值为true
就像这样:
Template.profile.rendered = function() {
if (<query>,<field> == true){
$('.driving-tutorial').hide();
else {
$('.driving-tutorial').show(); }
答案 0 :(得分:1)
您可以使用findOne()
方法实现此逻辑,该方法查找与参数中的选择器/查询对象匹配的第一个文档。因此,您可以使用Mongo选择器调用findOne()
,该选择器是一个对象,它指定所需文档的所需属性集以匹配文档。例如,这个选择器
var doc = Model.findOne({ canDrive: false });
将匹配此文档
{
_id: "01",
name: "Jimmy",
canDrive: false
}
然后,您可以在模板函数中使用上述逻辑来检查文档和字段是否存在,同时请记住findOne()
如果找不到匹配的文档,将返回null,这通常是如果文档尚未加载或已从集合中删除,则会发生:
Template.profile.rendered = function() {
var doc = Model.findOne({ canDrive: false });
if (doc && !doc.canDrive){
$('.driving-tutorial').show();
else {
$('.driving-tutorial').hide();
}
}
您还可以使用jquery toggle()
方法的第二个版本接受布尔参数。如果此参数为true
,则显示匹配的元素;如果false
,则隐藏元素:
Template.profile.rendered = function() {
var doc = Model.findOne({ canDrive: false }),
canDrive = (doc && !doc.canDrive);
$('.driving-tutorial').toggle(canDrive);
}