3

ブートストラップされたデータを使用して、選択フィールドにオプションを入力しようとしています。モデルの配列を 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 メソッドがないことを示すエラーが表示されます -> それ自体がモデルではなくモデルの配列であるため、そうではありません...

これは実際にどのように行うべきですか?ありがとう!

4

1 に答える 1

4

反復バインディング リベットをサブスクライブすると、次の 2 つのことが行われます。

  1. 配列全体をサブスクライブするため、配列が変更された場合は反復が再実行されます
  2. バインドが必要な配列のすべての子をサブスクライブする

Rivets は、それを必要とするバインディングを使用していないため、子をサブスクライブしていません。

project:description = 非サブスクライブ バインディング

project.description = サブスクライブ バインディング

配列の変更を購読したくない場合(それがあなたが求めていることだと思います)、行うことができますdata-each-project=":projects"

于 2012-11-26T19:39:56.973 に答える