2014-04-17 10 views
5

Po pierwsze zacznijmy od tego, że jestem kompletnym noobem z Meteorytem. Teraz, gdy jest to niemożliwe, niech problem się rozpocznie ...Meteor.js - Sprawdź status zalogowania przed renderowaniem

Mam dwie strony, stronę powitania na "/" i stronę główną w "/ home". Używam żelaznego routera do routingu. Teraz, jeśli nie jestem zalogowany i na stronie powitalnej i zalogować się Mam to przekierowanie do strony głównej to działa. Teraz, jeśli zamknę przeglądarkę i ponownie otworzę i "ładuje" się przez kilka sekund, uświadamia sobie, że nadal jestem zalogowany, a następnie przekierowuje mnie do "/ home".

Moje pytanie brzmi: jak pozbyć się tego początkowego pokazu na "/", gdy jestem już zalogowany? Chcę tylko pokazać, że strona dla ludzi nie podpisywanych w Oto kod, który mam w routerze.

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']}); 

Nadzieja to pomaga.

+0

pamiętaj, aby dodać to. Next() po aktualizacji meteor> 1.0 więcej tutaj http://stackoverflow.com/questions/26629835/meteor-v-1-0-and-ironrouter –

Odpowiedz

3

Używanie fast-render może być rozwiązaniem. Po prostu uruchom

Sprawdź this great article na ten temat.

+0

To jest idealne. Zainstalowany, szybki restart serwera i wszystko jest tak, jak powinno być! Dziękuję bardzo. – BobFranz

Powiązane problemy