Meteor #each - 如何从变量中获取每个项目并将其呈现在页面上?

Meteor #each - How to get each single item out of a variable and render it on a page?

我正在使用 Meteor 并尝试使用 #each,但我遇到了问题。我有一些值存储在 var 中,例如:

var a = [465,77987,2132,2];

我想在 HTML 上呈现 a 的每个值。我认为 #each 是正确的方法吗?实际上我不知道如何使用 #each 并且我找到的文档对我没有真正的帮助。我写了下面的代码:

JS:

Template.page.helpers({ 

    values: function() {
        return a;
    }
});

HTML:

{{#each values}}
    {{> page}}
{{/each}}

但这显然是错误的,因为我在客户端控制台中得到了这个错误:

Error: {{#each}} currently only accepts arrays, cursors or falsey values.

我还以为是数组呢?

更新

所以现在我已经使用了#each in 方法,但是我仍然得到相同的错误消息:

Error: {{#each}} currently only accepts arrays, cursors or falsey values. at badSequenceError (observe-sequence.js:183) at observe-sequence.js:148 at Object.Tracker.nonreactive (tracker.js:631) at observe-sequence.js:125 at Tracker.Computation._compute (tracker.js:339) at Tracker.Computation._recompute (tracker.js:358) at Object.Tracker._runFlush (tracker.js:523) at onGlobalMessage (meteor.js:401)


JS:

Template.page.helpers({ 

    values: function() {
        var a = [465,77987,2132,2]
        return a;
    }
});

HTML:

{{#each a in values }}
            {{> a}}
{{/each}}

更新 2

我现在知道这个错误是从哪里来的了。对不起,实际上我的第一个 post 不正确。我忘了,这些值 [465,77987,2132,2] 没有直接存储在 var a.

它们存储在会话变量和 var a = Session.get('values') 中,我认为这就是我收到此错误的原因...因此,我认为这不适用于 #each ?也许我必须先将它保存到我的 MongoDB,然后再将其呈现在 HTML 或类似的东西上。

尝试 each/in 构造:

{{#each value in values}}
  {{value}}
{{/each}}

c.f。 http://blazejs.org/guide/spacebars.html#Each-in

您在 each 中指定了整个模板,这正是它所抱怨的。

我会把所有的代码放在一个例子中。仅当您使用推荐的应用程序结构时才考虑 'import'。这些文件必须位于同一目录中。在 page.js 中排名第一:

import './page.html';

Template.page.helpers({ 
  values: function() {
    var a = [465,77987,2132,2];
    return a;
  }
});

page.html第二名:

<template name="page">
  {{#each a in values}}
    {{a}}
  {{/each}}
</template>