Javascript 有没有办法根据Meteor中的用户角色附加模板事件?

Javascript 有没有办法根据Meteor中的用户角色附加模板事件?,javascript,node.js,meteor,handlebars.js,Javascript,Node.js,Meteor,Handlebars.js,我想知道,因为我还没弄清楚,是否有办法附加流星的模板事件,比如: Template.businessOperations.events({ 'dblclick .display': function (evt, tmpl) { //DO SOMETHING; } } 基于当前用户的角色 例如: if (Meteor.user().profile.type === 'admin') { Template.businessOperations.events({

我想知道,因为我还没弄清楚,是否有办法附加流星的模板事件,比如:

Template.businessOperations.events({
    'dblclick .display': function (evt, tmpl) {
       //DO SOMETHING;
    }
}
基于当前用户的角色

例如:

if (Meteor.user().profile.type === 'admin') {
  Template.businessOperations.events({
      'dblclick .display': function (evt, tmpl) {
         //DO SOMETHING;
      }
  }
}
我试过了,但没有成功,我也试过从实际事件方法获取用户,但也没有成功,我在这里没有看到正确的解决方案


提前感谢您的帮助。

仅当用户是管理员时绑定事件很棘手,因为在评估模板代码时,用户可能尚未登录。正如您所建议的,在事件处理程序内部进行检查似乎是完全合理的。我会这样写:

Template.businessOperations.events({
  'dblclick .display': function() {
    if (Meteor.user() && (Meteor.user().profile.type === 'admin')) {
      console.log('double click and admin!');
    }
  }
});

我添加了对Meteor.user()的额外检查,以防止用户未登录的情况。如果不可能,您可以将其删除。

请记住,
profile
字段默认为用户可编辑。(它的意思是存储用户偏好信息)所以直接将用户“类型”放在用户对象上。在这里可以找到一个相关的软件包:会处理好的,谢谢你的建议。我要求Meteor.user().profile代替,它可以工作。