私のシナリオ:
タブ付きのビューがあり、2 つのタブで、ajax 呼び出しを使用して部分ビューを読み込んでいます。これらの部分ビューの両方をローカル ビューモデルにデータ バインドしたかったのです。
これらの部分ビューの両方に、同じ ID を持つ要素がありますが、これは正しくなく、修正する予定でしたが、奇妙な動作を発見しました。
問題の要素:
<div id="listsBar">...</div>
DOM の準備ができた後に行われるバインディング:
$(function () {
ko.applyBindings(listsViewModel, document.getElementById("listsBar"));
});
これは常に最初の要素にのみ影響を与えていましたが、これはおそらく問題ありませんが、今は必要なものです。
しかし、その後、Id と同じ名前の要素にクラスを追加しました。
<div id="listsBar" class="listsBar">...</div>
そして突然、バインディングがこれらの要素の両方に適用されます。
誰でもこれを説明できますか?それは機能ですか、それともバグ/ハックですか?