将数组添加到集合中

时间:2014-01-31 20:47:21

标签: javascript meteor

首先是Meteor的新手,如果我在这里问明显的话,对不起。我无法解决这个问题。我通过发现流星,其他人的项目和google搜索了很多。我很困惑,因为为了使模板反应,我将不得不将网格添加到通过客户端使用Autodeps通过服务器/订阅发布的集合。我不确定如何将网格添加到我试过的集合中:

 Template.grid.buttons = function (){
    var list = []
    for(var i=1*Math.random(); i<64; i++){
      list.push({value: i})

    }
    //currentGame is the collection for the current game
    currentGame.insert(list)

    }

  Template.grid.events({
    'click .button': function(ev) {
      $(ev.target).css('visibility', 'hidden');
   }
});

这是我感到困惑的地方我无法将网格添加到集合中并更新按钮的更改,除非我使用自动编码。 这将是一个2人游戏,游戏的目标是在他们离开之前按下尽可能多的按钮所以当玩家1按下按钮它消失时玩家2也应该看到按钮消失而不是能够点击它。如何将按钮添加到集合中并对按钮进行每次更改(单击和消失)?如果您想要查看更多代码或实时查看游戏:  GitHub这里是The actual meteor project link

1 个答案:

答案 0 :(得分:0)

Collection.insert期待一个具有键值对的对象。而不是发送一个数组,修改你的代码,如:

currentGame.insert({grid: list});

甚至更好:

// Define currentUser to be the player whose actions executed this code
currentGame.insert({player: currentUser, grid: list});