2014-10-30 165 views
2

原諒我,如果這是一個絕對愚蠢的問題,但我花了一天試圖解決這個問題,但不能。所以,我正在使用最近被重新命名爲useraccounts的帳戶模板。具體來說,我使用的是未版式的版本。在我家的路線(使用鐵路由器),我有以下代碼:當用戶登錄時Flash的登錄屏幕在Meteorjs

Router.configure({ 
    loadingTemplate: 'loading' 
}); 

Router.map(function() { 
    this.route('home', { 
    path: '/', 
    onBeforeAction: function(pause) { 
     return AccountsTemplates.ensureSignedIn.call(this, pause); 
    } 
    }); 
}); 

Router.onBeforeAction('loading'); 

但是,當我打開了主頁,有這樣的閃光顯示的登錄頁面,然後在家裏模板負荷高達。理想情況下,應該在用戶登錄時顯示進度條,並且所有內容都可以順利運行。

我試着用我發現的鐵路由器進程來解決這個問題,並不適用於Meteor 1.0。然後我嘗試整合nprogress,但是這沒有奏效。那麼解決方案是什麼?

+0

您正在使用哪種版本的iron:router? – 2014-10-30 16:27:15

+0

@將其使用版本1.0.0 – 2014-10-30 16:44:55

+1

鐵路路由器1.0版本進來了很多變化。您應該查看Chris Mather最近關於更改的內容並更新您的代碼。不知道這是否會解決它,但你的代碼至少會是最新的。 https://www.youtube.com/watch?v=SLd6fDi5UYE – 2014-10-30 16:47:37

回答

2

我會將onBeforeAction更改爲與此相符的東西,並不保證這會起到很好的作用,但它至少會使您將最新的0.9.4鐵路路由器更改爲1.0.0。

Router.map(function() { 
    this.route('home', { 
    path: '/', 
    onBeforeAction: function() { 
     if (! Meteor.userId()) { 
     this.render('loading'); 
     } else { 
     this.next(); 
     } 
    } 
    } 
}); 
+0

我可以用{{if loggingIn}}幫助程序作爲接受的答案來解決我的問題(可能與您的問題稍有不同)http:// stackoverflow .COM /問題/ 26575551 /流星需要時方知-IF-孤單-A-currentuser有或沒有 – phocks 2016-05-23 04:18:10

0

UserAccounts(原AccountsTemplates)現在有(因爲正矢量1.8.0)的ensureSignedIn插件鐵路由器。 不再閃爍!

請參閱有關Content Protection的更新文檔以瞭解如何使用它。

聲明:我是UserAccounts的開發人員