Скажем, у меня есть помощник, которому нужно вернуть название статьи.Метеор занимает несколько раз, чтобы сделать успешную базу данных.
<template name="articleList">
<span>{{title}}</span>
</template>
Template.articleList.title = function() {
return Articles.findOne({author: "Billy Bob"}).title
}
Я часто получаю сообщение об ошибке «Невозможно прочитать свойство неопределенной». Поэтому, когда я пытаюсь отлаживать его, как этот
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