在meteorjs中设置会话变量

时间:2014-02-03 20:56:27

标签: javascript session meteor

我正在关注http://www.youtube.com/watch?v=bfq1xXzZeB4的优秀教程。约。在教程的中途,应该会出现添加新种族的表单,但在按下“添加”按钮时则不会。我稍微更改了变量名称以适应我所拥有的宠物项目的示例。

在races.html(等于projects.html)中我有:

<template name="races">
  {{#if showRaceDialog}}
    {{>raceForm}}
  {{/if}}
  ....
</template>

在krend.js我有

Races = new Meteor.Collection('races');
if (Meteor.isClient) {
  Session.setDefault('showRaceDialog', false);
  ...
}

Template.races.events({
  'click .addRace':function(evt, tmpl) {
     alert('showRaceDialog: ' + Session.get('showRaceDialog'));
     Session.set('showRaceDialog', true);
   }
})

警告在新会话中弹出false,然后为true。但是会话变量似乎没有传播到html文件。可能是因为我猜,但我看不出有什么问题。

当我删除{{#if showRaceDialog}}并只渲染raceForm时,Add form会出现。这是在Mavericks股票安装,铬,FF,safari。

问候 克劳斯

1 个答案:

答案 0 :(得分:0)

您缺少将其链接起来的帮助程序:

Template.races.helpers({
    showRaceDialog: function() {
        return Session.get('showRaceDialog');
    }
});