0

次のコードがあります。

jsfiddle の例

いくつかの行を生成してテーブルに追加します。Foreach 行のテンプレートであるボタンを追加したいと思います。

このように使用しても機能しません:

<td data-bind="template: { name: 'userContext-template', data: id }"></td>

を削除すると、data: id機能します:

<td data-bind="template: { name: 'userContext-template' }"></td>

何が問題なのですか?

4

1 に答える 1

3

には、次のuserContext-template行があります。

<ul class="dropdown-menu pull-right" data-bind="attr: { id: id }" role="menu">

id をデータとしてテンプレートに渡すと、ko はこのバインディングで id.id にアクセスしようとします。それを次のように置き換えてみてください:

<ul class="dropdown-menu pull-right" data-bind="attr: { id: $data }" role="menu">

更新されたフィドル: http://jsfiddle.net/a4uT7/1/

または、ID だけを渡す代わりに、$data 全体をデータとしてテンプレートに渡します。

于 2013-11-13T13:37:43.597 に答える