2013-04-10 2 views
0

Я новичок в Meteor и едва понимаю его, но допустим у меня есть коллекция под названием MyCollection, объявленный путь сверху, так он доступен как в разделе клиента и сервера:Meteor - Как вставить динамически созданный контент в коллекцию?

mycollection = new Meteor.Collection('MyDumbCollection'); 

И тогда я что-то вроде этого:

if (Meteor.isClient) { 


Deps.autorun(function() { 
    Meteor.subscribe('mycollectionSubscription'); 
}); 



Template.myshittytemplate.rendered = function() { 

$("#heynow").prepend(shitfuck).dosomething(); 
godammit = thisfuckingthing; 
//paraphrasing 


mycollection.insert({thing1: thisfuckingthing}); 

    }; 


} 





if (Meteor.isServer) { 


Meteor.publish('mycollectionSubscription', function() { 
return mycollection.find(); 
}); 


}; 

И тогда в моем шаблоне:

<template name="myshittytemplate"> 
<div id ="heynow"> 
{{#each mycollection}} 
{{{thing1}}} 
{{/each}} 
</div> 
</template> 

то, что я пытаюсь сделать, это есть «thisfuckingthing» HTML-й at, созданный в #heynow div, сохраненном в коллекции и опубликован для всех. Если есть способ заставить Метеор просто наблюдать изменения в доме и спасти их, это еще лучше.

I do У меня есть автоматическая публикация, если это имеет значение. Halp.

ответ

0

Я нуждался в этом в клиентской части:

Template.myshittytemplate.mycollection = function() { 
return mycollection.find(); 
}; 

Hopes это поможет кому-то!

1

В клиенте Шаблон

Template.myshittytemplate.mycollection = function() { 
     return mycollection.find({}).fetch(); 
    }; 

    Template.myshittytemplate.rendered = function() { 
     $(function(){ 
     $("#heynow").prepend(shitfuck).dosomething(); 
     godammit = thisfuckingthing; 
     //paraphrasing 
     mycollection.insert({thing1: thisfuckingthing},function(err,_id){ 
        if(err){ 
         console.log(err); 
         return; 
        }); 
        console.log(_id); 
     }); 
     }; 
    } 
Смежные вопросы