Meteor if语句中的Helper呈现器

Meteor if语句中的Helper呈现器,meteor,Meteor,请参阅以下代码: Template.EditProfile.helpers({ 'welcomeMessage': function() { if (Session.get("welcomeMessage")) { var welcomeMessage = Session.get("welcomeMessage"); delete Session.keys['welcomeMessage'] return welcomeMe

请参阅以下代码:

  Template.EditProfile.helpers({
    'welcomeMessage': function() {
      if (Session.get("welcomeMessage")) {
        var welcomeMessage = Session.get("welcomeMessage");
        delete Session.keys['welcomeMessage']
        return welcomeMessage;
      } else {
        return false;  
      }
    }
  })
在html中

    {{#if welcomeMessage}}
      <div class="change-explain red-msg">{{ welcomeMessage }}</div>
    {{else}}
      <div class="change-explain">People will see your username on your comments.</div>
    {{/if}}
{{{#如果欢迎消息}
{{welcomeMessage}}
{{else}
人们会在你的评论中看到你的用户名。
{{/if}

这总是没有任何效果。如果我把它放到If语句之外,它就可以正常工作。关于被动风格,我在这里遗漏了什么?

在Meteor中,会话变量本身是被动的,这意味着当您更改“welcomeMessage”会话变量的值时,“welcomeMessage”助手将再次运行,并且不会显示任何内容。要对其进行测试,请注释掉
delete Session.keys['welcomeMessage']
,在应用程序运行时,在控制台中键入类似于
Session.set('welcomeMessage','test')
的内容,然后键入
Session.set('welcomeMessage')

如果要根据该会话变量设置类,可以添加以下帮助器:

'getClass': function() {
    var className = "";
    if (Session.get("welcomeMessage"))
        className = 'red-msg';
    return className;
}
'getMessage': function() {
    var messsage = "People will see your username on your comments.";
     if (Session.get("welcomeMessage"))
         messsage = Session.get("welcomeMessage");

        return messsage;
}
和一个消息帮助程序,如:

'getClass': function() {
    var className = "";
    if (Session.get("welcomeMessage"))
        className = 'red-msg';
    return className;
}
'getMessage': function() {
    var messsage = "People will see your username on your comments.";
     if (Session.get("welcomeMessage"))
         messsage = Session.get("welcomeMessage");

        return messsage;
}
然后您的html将如下所示:

<div class="change-explain {{getClass}}">{{getMessage}}</div>
{{getMessage}

谢谢!那么,仅当
welcomeMessage
未定义时,我应该如何更改代码以添加类
red msg