Javascript 每个把手都不工作

Javascript 每个把手都不工作,javascript,coffeescript,handlebars.js,Javascript,Coffeescript,Handlebars.js,因此,我有一个从函数调用@mappingFunctions.getFunctionNames()返回的数组,我将它传递到一个Handlebar模板中,但什么都没有发生 @$el.append(@template({ column: columns functionNames: JSON.stringify(@mappingFunctions.getFunctionNames()) })) 在另一个文件中- getFunctionNames: ->

因此,我有一个从函数调用@mappingFunctions.getFunctionNames()返回的数组,我将它传递到一个Handlebar模板中,但什么都没有发生

    @$el.append(@template({
      column: columns
      functionNames: JSON.stringify(@mappingFunctions.getFunctionNames())
    }))
在另一个文件中-

  getFunctionNames: ->
    names = []
    functions = @get('functions')
    for name of functions
      names.push(name)
    return names
似乎每个都没有运行-

<select class="map-columns">
  {{#each column}}
    <option value="{{ this }}">{{ this }}</option>
  {{/each}}
</select>

<select class="map-functions">
  {{#each functionNames}}
    <option value="{{ this }}">{{ this }}</option>
  {{/each}}
</select>

{{#每列}
{{this}}
{{/每个}}
{{{#每个函数名}
{{this}}
{{/每个}}

为什么?

您正在向模板传递字符串值,因为这是
JSON.stringify
产生的结果。对于
functionNames
来说,修复方法是删除
JSON.stringify
并传递直接数组


我不确定如何处理
,但很可能是类似的。

JSON.stringify
生成字符串,而
#每个
都需要一个对象。看到问题了吗?您没有显示什么是
列,但我怀疑它有相同或类似的问题。@Jon Handlebar每个人都需要一个数组,而不是object。因此,我传入了一个数组,但它仍然不起作用……或者您的意思是它必须是一个对象?nvm-它起作用-将其作为一个对象发布answer@tsiki: .