首页 文章

在coffeescript的流星模板帮手

提问于
浏览
0

在使用coffeescript时,我无法在模板助手内部运行任何计算(反应或其他),只返回常量值 .

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 工作的任何建议?

2 回答

  • 0

    我认为site可以提供帮助 .

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

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

    但我可能错了,我对coffeescript或流星并不熟悉 .

  • 1

    在函数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
    

    希望它会工作:)

相关问题