Bob*_*anz 5 javascript meteor iron-router
首先,让我们开始说明我是Meteor的完整菜鸟.现在,这就是问题的开始......
我有两个页面,'/'的启动页面和'/ home'的主页.我正在使用铁路由器进行路由.现在,如果我没有登录并在启动页面上登录,我将其重定向到主页,这是有效的.现在,如果我关闭浏览器并重新打开并转到'/'它会加载几秒钟,然后意识到我实际上仍然登录,然后将我重定向到'/ 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']});
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
使用fast-render可能是一个解决方案。赶紧跑
mrt add fast-render
Run Code Online (Sandbox Code Playgroud)
查看有关该主题的这篇精彩文章。