根据Meteor Blaze中的真或假条件切换状态

时间:2017-09-22 13:25:18

标签: mongodb toggle meteor-blaze meteor-helper

切换status的最佳方式是什么?我在下面有这个数据样本。状态字段用于跟踪用户何时在线激活。这是推荐计划。推荐用户的人应该能够知道用户何时创建帐户,状态从red更改为green。如何使这些状态切换。

status.active === true表示用户处于活动状态时,从数据库中,状态应变为绿色。如果status.active === false,则表示用户处于非活动状态,应该变为红色。

是刀片模板

<h4 class="media-heading">
  {{#if equals 'status.active' 'true' }}
    <div> class="circle active"></div> 
  {{else}}
    <div class="circle not-active"></div>
  {{/if}}<a href="/student/{{slug}}" target="_parent">{{firstname}} {{lastname}}  <small class="pull-right">{{ createAt}}<label><input type="checkbox" name="eachstudents" value="{{_id}}">Add to Module</label></small></a></h4>

示例数据

{ 
    "_id" : "5jW9gcLaKg83LynML", 
    "registra" : "kadeoya", 
    "status" : {
        "active" : true, 
        "activedate" : ISODate("2017-09-16T08:59:55.062+0000")
    }, 
    "userId" : "n5rqFSHbhm7zqADyB", 
    "createdAt" : ISODate("2017-09-05T18:45:14.804+0000")
}
{ 
    "_id" : "MbNoqW2ZYhZco3My5", 
    "registra" : "kadeoya", 
    "status" : {
        "active" : true, 
        "activedate" : ISODate("2017-09-11T08:49:08.830+0000")
    }, 
    "userId" : "n5rqFSHbhm7zqADyB", 
    "createdAt" : ISODate("2017-09-05T18:45:14.824+0000")
}

1 个答案:

答案 0 :(得分:1)

您只需要帮助检查“在线”或“离线”状态。您可以使用以下代码

Template.Template_Name.helper({
    isActive(){
        var document = Collection.find({}).fetch()[0]; // add ur conditions in find({})
        return document && document.status && document.status.active;
    }
});

然后你可以在刀片模板中调用这个帮助器,如下所示,

{{#if isActive }}
   <div class="circle active"></div> 
{{else}}
   <div class="circle not-active"></div>
{{/if}}

通过这种方式,您的帮助程序将处于被动状态,并且会在特定文档中“status.active”的值发生变化时进行切换。