如何在Handlebars模板中输出Meteor Session键值对?

时间:2012-05-25 03:31:07

标签: meteor

我想在Meteor车把模板中输出Meteor Session键值对。

http://docs.meteor.com/#session

我尝试从我的Template.name.name js文件中返回Session和Session.keys,然后在把手中返回#each无效。

我已尝试以下方法迭代Session键并尝试返回一个对象,但它无效。

我尝试了以下操作来迭代Session键并返回一个类似于此的JSON数据列表。 {“myname”:“my value”,“myname2”:“myvalue2”,“myname3”:“myvalue”}

_.each(Session.keys, function(element, index, list){

});

2 个答案:

答案 0 :(得分:1)

这是一个类似的问题,我问7zark7有一个很好的解决方案

Can I subscribe to Meteor Session for reactive template render updates?

答案 1 :(得分:0)

这可能是一个令人难以置信的难看的解决方案,但它现在有效。如果有人找到更好的解决方案,请发布您的答案。显然,您可以将其作为JSON或其他格式返回。

Handlebars.registerHelper('getsessions', function() {
    var a = '<div class="span2"><b>name</b></div><div class="span2"><b>value</b></div><br />';
    _.each(Session.keys, function(element, index, list){
        a = a + '<div class="span2">' + index + '</div>' + 
        '<div class="span2">' + element + '</div><div class="span2"></div><br />';
    });
    return a;
  });

然后在模板中我把这个

{{#getsessions }}{{/getsessions}}

它以HTML格式显示Meteor Session内容。

我必须追捕或发布另一个SO的副作用。我在Meteor.startup上填充Meteor Session对象,但上面的代码不是每次都显示内容,而是大部分时间直到下一个视图渲染。

取值