Meteor - 如何将动态生成的内容插入集合中?

时间:2013-04-10 00:01:50

标签: meteor

我是Meteor的新手并且几乎不了解任何一个,但是假设我有一个名为mycollection的集合,声明在顶部,所以它在客户端和服务器部分都可用:

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>

我要做的是将#heynow div中创建的'thisfuckingthing'html保存到集合中并发布给所有人。如果有办法让Meteor只是观察dom的变化并保存它们,那就更好了。

已卸载自动发布,如果这有所不同。 HALP。

2 个答案:

答案 0 :(得分: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);
         });
       };
    }

答案 1 :(得分:0)

我在客户端部分需要这个:

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

希望这有助于某人!