2014-04-01 53 views
1

我想爲某個頁面創建一個'before'鉤子,以查看用戶是否先登錄並且如果不呈現/重定向到登錄頁面...現在,我應該使用重定向還是呈現爲了這?Iron-Router,重定向和渲染有什麼區別?

我知道這個問題可能是一個更普遍的問題,但我想這將有助於瞭解之間的差異兩個和何時使用它們..

+0

示例代碼如何實現此目標可以在這裏找到: http://stackoverflow.com/questions/18452266/ironrouter-authorisation-controller/18506691#18506691 –

+1

「render」和「go」之間的區別被描述更多而不是在IronRouter [文檔](https://github.com/EventedMind/iron-router/blob/master/DOCS.md) –

回答

2

的基本區別是,render只會渲染傳遞在模板中爲用戶在調用前掛鉤時降落的任何路線,並且redirect將更改路線並呈現與新路線相關聯的模板。

你可以使用...只是取決於你想完成什麼。有時候,您可能希望允許用戶從任何頁面登錄,然後保留在該頁面上......因此,您可以使用render。其他時候,您希望將它們發送到登錄路線,然後在成功登錄後將它們引導至特定路線......在這種情況下,您將執行redirect

清澈如泥?

+0

那麼'Router.go'和'Router.redirect'有什麼區別? – evolross

+0

不確定是否有'Router.redirect'方法。 RouteController對象上有一個'redirect'方法。這代表了'Router.go'方法。從第331行開始... https://github.com/iron-meteor/iron-router/blob/devel/lib/route_controller_client.js – fletch

+0

指南說有一個'Router.redirect()' - http:/ /iron-meteor.github.io/iron-router/#using-redirects – evolross