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代替,它可以工作。