流星铁-路由onBeforeAction
Meteor iron-route onBeforeAction
我的 Meteor 应用程序中有这个简单的 Iron-router 路由,每当任何用户需要注销应用程序时我都会使用它,尽管每当我调用这个路由时我都会收到以下错误。有人可以告诉我我做错了什么/在这里遗漏了什么吗?谢谢
请注意,Meteor.logout return 没有任何错误
Router.route('/logout', function(){
Meteor.logout(function(err){
if(err){
console.log('Error Logging out: '+ err);
}
this.redirect('home');
});
});
错误:
Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction?
Exception in delivering result of invoking 'logout': TypeError: undefined is not a function
at http://localhost:3000/both/router/routes.js?8871acf5e06150f7af89862f68c245a05fe13db8:110:12
at http://localhost:3000/packages/accounts-base.js?7c29db5c21a76726509bb6bb2a68a2b4b1ecf657:674:19
Meteor.logout 回调中的范围与 Router.route 回调中的范围不同。这就是为什么您需要将 Router.route 的范围分配给变量 self
,然后在 Meteor.logout 回调中使用它。
Router.route('/logout', function(){
var self = this;
Meteor.logout(function(err){
if(err){
console.log('Error Logging out: '+ err);
}
self.redirect('home');
});
});
我的 Meteor 应用程序中有这个简单的 Iron-router 路由,每当任何用户需要注销应用程序时我都会使用它,尽管每当我调用这个路由时我都会收到以下错误。有人可以告诉我我做错了什么/在这里遗漏了什么吗?谢谢
请注意,Meteor.logout return 没有任何错误
Router.route('/logout', function(){
Meteor.logout(function(err){
if(err){
console.log('Error Logging out: '+ err);
}
this.redirect('home');
});
});
错误:
Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction?
Exception in delivering result of invoking 'logout': TypeError: undefined is not a function
at http://localhost:3000/both/router/routes.js?8871acf5e06150f7af89862f68c245a05fe13db8:110:12
at http://localhost:3000/packages/accounts-base.js?7c29db5c21a76726509bb6bb2a68a2b4b1ecf657:674:19
Meteor.logout 回调中的范围与 Router.route 回调中的范围不同。这就是为什么您需要将 Router.route 的范围分配给变量 self
,然后在 Meteor.logout 回调中使用它。
Router.route('/logout', function(){
var self = this;
Meteor.logout(function(err){
if(err){
console.log('Error Logging out: '+ err);
}
self.redirect('home');
});
});