首先,對一個完整的javascript noob感到抱歉,我更像是一個PHP傢伙,我只是測試了流星框架。流星收集的麻煩
我通過對象的集合試圖循環,並嘗試通過其他收藏品作爲這樣添加屬性:
Template.host.hosts = function() {
var hosts = Hosts.find();
hosts.forEach(function(host) {
host.lastPing = Pings.findOne({id: host.id}, {sort: {timestamp : -1}});
// This works fine
// console.log(host.lastPing.id);
});
for (host in hosts) {
// This results in "TypeError: Cannot read property 'id' of undefined"
console.log(host.lastPing.id);
}
return hosts;
};
我不明白爲什麼第二次的console.log不工作。
我試圖尋找,但我不知道,如果問題是特定的方式來處理流星集合或我應該添加屬性爲JavaScript對象或成才完全無關的方式(範圍等)
我簡化了我的問題,試圖瞭解發生了什麼,我的真正的問題顯然是一個模板循環按:
{{#each hosts}}
{{this.lastPing.id}}
{{/each}}
感謝
非常感謝Hosts.update做的竅門,我將不得不再次閱讀這篇詳細的文章幾次才能完全理解。 – Purplefish32