Meteor 在没有辅助函数的情况下将数据导入模板

Meteor 在没有辅助函数的情况下将数据导入模板,meteor,Meteor,以下两者之间的区别是什么: Session.set("sessionclickcount",1); Template.hello.clickcount = Session.get("sessionclickcount"); 及 稍后,我尝试通过使用以下代码更新会话变量来更新模板数据: Template.hello.events({ 'click input' : function () { Session.set("sessionclickcount",

以下两者之间的区别是什么:

  Session.set("sessionclickcount",1);
  Template.hello.clickcount = Session.get("sessionclickcount");

稍后,我尝试通过使用以下代码更新会话变量来更新模板数据:

  Template.hello.events({
    'click input' : function () {
      Session.set("sessionclickcount",
        Session.get("sessionclickcount")+1);
    }
  });

第一个方法失败,html不会更改。第二次成功。为什么?谢谢

流星中的助手需要返回函数。这是因为该函数在上下文中运行,并允许meteor跟踪依赖项

这些依赖关系可以帮助meteor知道模板需要用新数据重新绘制


如果使用
Template.hello.clickcount=Session.get(“sessionclickcount”),渲染引擎(spark)不会从中获得任何依赖项,这就是为什么它不会更改。它不知道必须重新绘制它。

meteor中的助手可以是函数或常量值

发件人:

还可以使用助手传递常量数据

//与{{#每个部分}配合使用效果良好 Template.report.sections=[“情况”、“复杂性”、“解决方案”]

在本例中,您将helper设置为常量值1,因为它是执行这一行javascript时会话字段的值:

Template.hello.clickcount=Session.get(“sessionclickcount”)

当OP说“第一个方法失败…”时,他的意思是“值没有改变”,而不是“没有显示任何内容”。在这种情况下,将始终显示值“1”。
  Template.hello.events({
    'click input' : function () {
      Session.set("sessionclickcount",
        Session.get("sessionclickcount")+1);
    }
  });