在模板中显示集合中的项目

时间:2016-02-12 05:29:42

标签: meteor

以下代码应在FooterButtons集合中插入3对文档,然后这些值在页脚模板中的3个按钮上显示为标签。

但是当调用“click .menuItem”时,它只在集合中插入“YES”。知道为什么它是经纪人和解决它的最佳方法吗?感谢

服务器和客户端代码

FooterButtons = new Mongo.Collection('footerButtons');

服务器代码

Meteor.publish('footerButtons', function(){
    return FooterButtons.find();
});

客户端代码

Meteor.subscribe('footerButtons');

//---main_menu.js--------------------   
Template.mainMenu.events({  
  'click .menuItem': function (event) {  
   FooterButtons.insert({button:"NO", button:"EXTRA", button:"YES"});  
  }
});

//---footer.html---------------
<template name="footer">
{{#each footerButtons}}
<h1>
  <button class="col-xs-4" type="button">{{button}}</button>
</h1>
{{/each}}
</template>

//---footer.js---------------
Template.footer.helpers({
 footerButtons: function(){
  return FooterButtons.find();
 }
});

1 个答案:

答案 0 :(得分:0)

这个命令对于mongo插入是完全错误的

   FooterButtons.insert({button:"NO", button:"EXTRA", button:"YES"});  

如果您创建了一个javascript对象,

var obj = {button:"NO", button:"EXTRA", button:"YES"}; 

由于所有密钥都是重复的,因此您的对象只有一个具有最后一个密钥的密钥:是

您需要逐个插入

   FooterButtons.insert({button:"NO"});  
   FooterButtons.insert({button:"EXTRA"});  
   FooterButtons.insert({button:"YES"});