首先让我们从我是一个完全的 Meteor 菜鸟这个事实开始。既然已经解决了问题,那就让问题开始吧……
我有两个页面,一个位于“/”的醒目页面和一个位于“/home”的主页。我正在使用 iron-router 进行路由。现在,如果我没有登录并在启动页面上登录,我将它重定向到主页,这有效。现在,如果我关闭浏览器并重新打开并转到“/”,它会加载几秒钟,然后意识到我实际上仍处于登录状态,然后将我重定向到“/home”。
我的问题是,当我已经登录时,如何摆脱“/”上的初始显示?我只想向未登录的人显示该页面。这是我路由器中的代码:
Router.configure({layoutTemplate: 'mainLayout'});
Router.map(function() {
this.route('splash', {path: '/'});
this.route('home');
});
var mustBeSignedIn = function(pause) {
if (!(Meteor.user() || Meteor.loggingIn())) {
Router.go('splash');
pause();
}
};
var goToDashboard = function(pause) {
if (Meteor.user()) {
Router.go('home');
pause();
}
};
Router.onBeforeAction(mustBeSignedIn, {except: ['splash']});
Router.onBeforeAction(goToDashboard, {only: ['splash']});
希望这对您有所帮助。
最佳答案
关于javascript - Meteor.js - 在渲染前检查登录状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139627/