0

使用咖啡脚本时,我无法在模板帮助程序内运行任何类型的计算(反应式或其他方式),只能返回常量值。

if Meteor.isClient
    Template.fg.helpers(
        f: () -> [{val:1},{val:4},{val:9}] # works.
        g: () -> [{val: i*i} for i in [1..10]] # doesn't work.
    )

和模板

<template name="fg">
  {{#each f}} 
    <div>f: {{val}}</div>
  {{/each}} 
  {{#each g}} 
    <div>g: {{val}}</div>
  {{/each}} 
</template>

生产

f: 1
f: 4
f: 9
g:

但是使用javascript可以正常工作。关于如何g工作的任何建议?

4

2 回答 2

1

我认为这个网站可以提供帮助。

所以像这个网站提到做这样的事情:

g: () -> (val: i*i for i in [0...10])

但我可能是错的,我不太熟悉咖啡脚本或流星。

于 2013-10-10T10:01:47.850 回答
0

在您的函数 g 中进行以下更改,它将起作用

Template.fg.helpers
f: () -> [{val:1},{val:4},{val:9}] # works.


g: () -> 
    for i in [1..10] # this also works
        val: i*i

它会给出以下输出

f: 1
f: 4
f: 9
g: 1
g: 4
g: 9
g: 16
g: 25
g: 36
g: 49
g: 64
g: 81
g: 100

希望它会工作:)

于 2013-10-10T11:09:34.177 回答