当用户登录到他们的帐户时,我想检查用户的角色,并将他们引导到合适的主页。角色是由meteor-roles设置的,我使用的是flow-router。目前,这只是抛出了一个触发器错误:
Exception from Tracker recompute function:
TypeError: Cannot read property 'roles' of undefined是否可以访问路由器文件中的roles?
路径:Routes.js
FlowRouter.route("/", {
name: 'home',
action: function() {
var user = Meteor.user();
var userRole = user.roles;
if (userRole == 'is_student') {
FlowRouter.go('profileNew');
} else if (userRole == 'is_teacher') {
FlowRouter.go('profile');
} else {
FlowRouter.go('profileAdmin');
}
}
});发布于 2016-07-01 22:07:15
var user = Meteor.user();// app刚刚启动,您没有登录
var userRole = user.roles;//此时用户未定义,如何获取角色?这就是它抛出错误的原因。
所以你可以像这样管理这个So:
FlowRouter.route("/", {
name: 'home',
action: function() {
var user = Meteor.user();
if(user){
var userRole = user.roles;
if (userRole == 'is_student') {
FlowRouter.go('profileNew');
} else if (userRole == 'is_teacher') {
FlowRouter.go('profile');
} else {
FlowRouter.go('profileAdmin');
}
}
}
});https://stackoverflow.com/questions/38133616
复制相似问题