So versuche ich einen Artikel als Benutzer- und Editoransicht anzuzeigen. Ich benutze keinen Router, also mache ich das Abonnement unter onCreated
.Meteor: Daten zur Verwendung auf Sub-Vorlagen erhalten
Aber ich mag es nicht für Titel und Inhalt ein findOne() zu tun. Ich denke, ich kann die kompletten Daten in einer Find-Anfrage bekommen und diese Daten in beiden Templates (Benutzer/Editor) verwenden. Aber wie soll ich das machen?
Vorlagen
<template name="example">
{{#if isEditorView}}
{{ > editor }}
{{else}}
{{ > user }}
{{/if}}
</template>
<template name="editor">
<input type="text" placeholder="title" value="{{title}}">
<textarea placeholder="article">{{content}}</textarea>
</template>
<template name="user">
<h1>{{title}}</h1>
{{{content}}}
</template>
Helfer
Template.example.onCreated(function() {
Meteor.subscribe('articles');
});
Template.example.helpers({
isEditorView: function() {
return Session.get('editorView') ? true : false;
},
title: function() {
var doc = Collection.findOne();
return doc.title;
},
content: function(plain) {
var doc = Collection.findOne();
return doc.content;
}
});