2016-03-20 23 views
0

Bir makaleyi, kullanıcı ve düzenleyici görünümü olarak görüntülemeye çalıştığım budur. Herhangi bir yönlendirici kullanmıyorum, bu yüzden onCreated numaralı telefondan abone olun.Meteor: Alt şablonlarda kullanılmak üzere veri topla

Ama başlık ve içerik için bir findOne() yapmaktan hoşlanmıyorum. Tüm verileri bir bulma isteğinde bulabilirim ve bu verileri her iki şablonda (kullanıcı/editör) kullanabilirim. Ama bunu nasıl yapmalıyım? O halde tek bir yardımcıya ihtiyacınız

<template name="example"> 
{{#with doc}} 
    {{#if isEditorView}} 
    {{ > editor }} 
    {{else}} 
    {{ > user }} 
    {{/if}} 
{{/with}} 
</template> 

:

şablonları

<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> 

yardımcıları

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; 
    } 
}); 

cevap

2

Kullanım {{#with }} veri bağlamını ayarlamak için

Template.example.helpers({ 
    isEditorView: function() { 
    return Session.get('editorView') ? true : false; 
    }, 
    doc: function() { 
    return Collection.findOne(); 
    } 
}); 
İlgili konular