DOM 要素を再レンダリングせずに、一部の DOM 要素にバインディングを適用する方法があるかどうか疑問に思っています。
私の状況では、サーバーが Razor テンプレートを使用して HTML ビルドを返しているためです。したがって、バックエンドはすべての DOM 構築を処理します。
私がやりたいことは、完全にレンダリングされたマークアップを取得し、Knockout.js などの堅牢な JS ライブラリを使用して、何らかのバインディングをそれに適用することだけです。これはまったく可能ですか。
たとえば、通常のクライアント側で作成されたマークアップでは、次のようにします。
<ul data-bind="foreach: fruits">
<li data-bind="text: name"></li>
</ul>
次に、バインディングを適用し、html を作成します。
ko.applyBindings(new ViewModel(data));
次のような結果になります。
<ul data-bind="foreach: fruits">
<li data-bind="text: name">Apples</li>
<li data-bind="text: name">Pairs</li>
<li data-bind="text: name">Banana</li>
<li data-bind="text: name">Peaches</li>
<li data-bind="text: name">Grapes</li>
</ul>
しかし、Razor テンプレートを使用すると、HTML は既にこのように返されますが、まだバインディングを適用したいと考えています。HTMLを再レンダリングせずにこれを行うにはどうすればよいですか。私が考えることができる他の唯一の方法は、独自のカスタムバインディングを構築することですが、それは避けたいです.
これを行うために使用できる別のフレームワークはありますか? バックボーンがこれを行う可能性があると聞きました。