使用Rivet.js&amp ;;迭代选择字段的模型。 CoffeeScript的

时间:2012-11-26 16:56:42

标签: javascript coffeescript rivets.js

我正在尝试使用自举数据填充带有选项的选择字段。在将我的模型数组绑定到jQuery选择对象时,我遇到了一个问题...

HTML

<select data-each-project="projects" id="project-selection">
    <option data-value="project:description"></option>
</select>

绑定

project_array = new Array()

_.each projects, (project) ->
    projects_array.push project

rivets.bind @el.select, projects:projects_array

结果

我收到一个错误,表明该对象没有.on方法 - &gt;它不是因为它是一个模型阵列而不是它自己的模型......

这应该怎么做?谢谢!

1 个答案:

答案 0 :(得分:4)

当您订阅迭代绑定时,铆钉会做两件事:

  1. 订阅整个数组,如果它发生变化,它将重新运行 迭代
  2. 订阅需要绑定的阵列的所有子项
  3. 铆钉没有订阅您的孩子,因为您没有使用任何需要它的绑定。

    项目:description =非订阅绑定

    project.description =订阅绑定

    如果您不想订阅数组更改(我认为这就是您要求的内容),您可以执行data-each-project=":projects"