0

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

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

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

我尝试了以下方法来迭代 Session 键并尝试返回一个对象,但它不起作用。

我尝试了以下方法来遍历 Session 键并返回一个看起来像这样的 JSON 数据列表。{“我的名字”:“我的价值”,“我的名字2”:“我的价值2”,“我的名字3”:“我的价值”}

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

});
4

2 回答 2

1

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

我可以订阅 Meteor Session 以获取响应式模板渲染更新吗?

于 2012-05-31T22:35:17.100 回答
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 对象,但是上面的代码不会每次都显示内容,或者说大部分时间都不会显示内容,直到下一个视图渲染。

小号

于 2012-05-25T16:55:39.257 回答