通常我可以通过注册全局会话来访问会话并在html中获取其值,如下所示:
Template.registerHelper('session',function(input){
return Session.get(input);
});
然后在html中使用它如下:
{{session "itemId"}}
但我想知道是否有办法在html中设置会话值?
为什么我要这样做? 因为我想创建聊天应用,每个对话都需要有唯一的频道名称。我希望在用户点击要与之聊天的用户时更改频道名称会话。
答案 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
提供了一个用户列表,那么这将非常有用。