在 Meteor Blaze 中根据 true 或 false 条件切换状态

Toggle state based on true or false condition in Meteor Blaze

切换 status 的最佳方式是什么?我在下面有这个数据样本。状态字段用于跟踪用户何时在线活跃。这是一个推荐程序。推荐用户的人应该能够通过状态从 red 变为 green 知道用户何时创建帐户。如何让这些状态切换。

status.active === true 表示用户处于活动状态时从数据库中,状态应变为绿色。如果status.active === false,这意味着用户不活跃,它应该变成红色。

这是 Blade 模板

<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")
}

您只需创建一个助手来检查状态 "online" 或 "offline"。您可以使用下面的代码,

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

然后你可以在 blade 模板中调用这个助手,如下所示,

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

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