Я знаю, что с помощью шаблона вы можете отображать несколько документов с их атрибутами, такими как:
// html
<template name="hello">
{{#each greetings}}
{{message}}
{{/each}}
</template>
// js
Template.hello.greetings = function() {
return Greetings.find();
}
Который показывает Greeting.message для каждого найденного документа приветствия.
У меня вопрос: как использовать этот шаблон только для одного документа? (включая отсутствие доступного документа)
Со стороны javascript я бы использовал что-то вроде return Greetings.findOne({'id' : Session.get("greeting_id")});
Но при использовании шаблона:
<template name="hello">
{{message}}
</template>
выдается ошибка: Uncaught TypeError: Cannot read property 'message' of undefined
На данный момент я использую это на стороне JS, используя шаблон, предложенный @tom-wijsman ниже:
Template.hello.greeting = function() {
var greeting = Greetings.findOne({'id' : Session.get("greeting_id")})
if (greeting)
return greeting;
return {message: ""};
}