說我有一個需要返回文章標題的助手。流星需要多次才能成功讀取數據庫
<template name="articleList">
<span>{{title}}</span>
</template>
Template.articleList.title = function() {
return Articles.findOne({author: "Billy Bob"}).title
}
我經常會得到一個'Can not read property title of undefined'錯誤。所以,當我嘗試調試像這樣
Template.articleList.title = function() {
console.log(Articles.findOne({author: "Billy Bob"}))
}
日誌會說
undefined
undefined
Object[0]
所以它只能在第三次。我認爲這可能是我的路由器或別的地方的錯誤代碼,但我不知道它是什麼。有什麼建議麼?
發生這種情況是因爲在第一次加載客戶端時,它沒有任何數據。下次它將訂閱出版物。然後它會開始接收數據。閱讀更多關於瞭解何時訂閱已準備就緒的信息:http://docs.meteor.com/#meteor_subscribe – imslavko
所以你說的是,這是無法撤銷的東西?因爲它不會發生在我所有的助手身上。一些助手只需要一次嘗試,其他人需要兩次。 – Nubby
您的其他助手可能正在使用來自'find'的遊標,而不是來自'findOne'的文檔。 – sbking