我很想知道,因为我无法弄明白,如果有办法附加Meteor的模板事件,例如:
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;
}
}
}
我已经尝试了它并且它不起作用,我也尝试从实际的事件方法中获取用户,但它也没有用,我在这里没有看到正确的解决方案。
提前感谢您的帮助。
答案 0 :(得分:2)
仅当用户是管理员时才绑定事件是棘手的,因为在评估模板代码时,用户可能没有登录。如您所建议,在事件处理程序内部进行检查似乎完美无缺合理。我会这样写:
Template.businessOperations.events({
'dblclick .display': function() {
if (Meteor.user() && (Meteor.user().profile.type === 'admin')) {
console.log('double click and admin!');
}
}
});
我添加了对Meteor.user()
的额外检查以防止用户未登录的情况。如果不可能,您可以将其删除。