0
在流星中,我如何正確地從集合中返回屬性值(在這種情況下爲響應),以便我可以將其發送到數據屬性?我曾嘗試以下功能:從流星訂閱中獲取反應價值
Responses: function(answer) {
return Responses.findOne({answerId: answer.hash.answer});
}
與我在spacebars調用模板爲:
data-selected="{{Responses answer=_id}}
當我看HTML它說,該數據選擇=「[對象對象]」這並不令人驚訝,但我無法弄清楚如何僅從比賽中返回響應值。我可以添加.response到最後,它的工作原理,但給出了一個預期的'未定義'的錯誤,我知道它沒有反應。我看到人們使用wrapasync,但是這是爲了方法,而不是訂閱。我應該注意到有幾個響應,所以代碼必須適合在響應變量的#for循環中,這些響應變量分別跟蹤每個用戶的輸入。 謝謝!
哇,非常感謝this._id提示。這真的簡化了事情。在結尾添加.response會產生這樣的錯誤:「模板助手中的異常:TypeError:無法讀取未定義的屬性」響應「,但它確實向數據幫助器輸出了正確的值,所以我認爲這只是一個異步問題,但我不知道如何解決它。 – Coherent
很高興幫助。你可以做的事情是把Response.findOne({answerId:this._id})。response作爲一個變量,然後檢查它是否爲null,如果是,則返回任何內容。可能需要一點時間才能使數據可用,因此此if語句可防止出錯,並在數據可用時自動刷新助手。您永遠不會注意到助手不返回任何內容的最小時間範圍,因爲這是頁面加載的一部分。我更新了我的答案以反映此解決方案。 – Joos