簡體   English   中英

鐵路由器路線“已載入”事件

[英]Iron-router route 'loaded' event

我對Iron-Router有點陌生,但我很好奇是否有一個事件處理程序可以在加載路由后為之定義。 如果我嘗試在Meteor.startup中調用Router.current()。data(),則Router.current()會得到“未定義”。 我想知道一旦在該路由中加載了數據,就可以開始做事的“正確”方式...

您使用的代碼很好Router.current().data()

問題是這里存在比賽條件。 這里有兩件事發生,Meteor.startup可能在路由器決定其上的路由之前或之后運行。 如果它在路由加載之前運行,則Router.current()將為null

您可能需要考慮將代碼放入路由的onAfterAction 這樣,它也將在正確的頁面上運行。 Router.current().data()會在其他路由上返回錯誤的數據。

要記住的另一件事是使用Meteor,您首先下載html,js和css並加載它。 然后是數據,因此,當頁面加載時要查找數據時,您必須首先等待它,否則您將一無所有。

Iron Router還具有一個名為onData的鈎子,當相應路由的data()更改時,該鈎子會重新運行。 您可以使用它來確保您有可用的數據,並在正確加載所有內容后運行它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM