0

私の問題を示すプランクを作成しました: http://plnkr.co/edit/OWHICW15s6W6QCjNi7NV

タスクのテーブルがあり、各タスクには別のタスクのリストを含めることができます。新しいタスクを作成または編集するとき、その作業は Bootstrap Modal で行われます。モーダル div が作成されると、タスクのリストを含むテーブルの直後に作成されます。これは別のモーダル内にネストされる可能性があるため、モーダル div を body 要素の子である別の div に移動 (追加) するコードがあります。これを行わないと、ネストされたモーダルのサイズは含まれているモーダルに制限されます。このロジックは showModalBinding.js にあります。

これは期待どおりに機能しますが、モーダル要素を移動すると、Uncaught Error: You cannot apply bindings multiple times to the same element. が表示されます。

このエラーを解消しながら、正しいバインディングを維持するにはどうすればよいですか? (私は cleanNode を試しましたが、エラーはなくなりましたが、バインディングも削除されます。バインディングを再度追加するにはどうすればよいですか?)

4

1 に答える 1

2

バインディングがドキュメント全体ではなく、コンテナーにのみ適用されるようにします。そうすれば、div を移動するときに、ノックアウトに拘束されていない領域に移動することになります。

ko.applyBindings(myViewModel,document.getElementById('main-content'));
于 2013-12-31T18:02:55.907 に答える