我可以在html模板中设置会话变量吗? - 流星

时间:2017-11-26 22:34:28

标签: session meteor

通常我可以通过注册全局会话来访问会话并在html中获取其值,如下所示:

Template.registerHelper('session',function(input){ 
return Session.get(input); 
});

然后在html中使用它如下:

{{session "itemId"}}

但我想知道是否有办法在html中设置会话值?

为什么我要这样做? 因为我想创建聊天应用,每个对话都需要有唯一的频道名称。我希望在用户点击要与之聊天的用户时更改频道名称会话。

1 个答案:

答案 0 :(得分:0)

您所描述的是事件处理程序

  

当用户点击

描述一个事件。

您的html,模板和模板帮助应该关注演示文稿。由于帮助程序的反应性和频率高于您的预期,因此请保持无状态

在Meteor / Blaze中创建一个事件处理程序:

JS:

Template.myTemplate.events({
  'click selector'(ev) {
    Session.set('channel', this._id);
  }
});

其中selector是一些DOM选择器(#ID,.className等等)。

在此示例中,我已在所点击的_id的上下文中将频道设置为this的{​​{1}}键。如果myTemplate提供了一个用户列表,那么这将非常有用。

相关问题