私が扱っているページにはいくつかのタブがあり、コントローラからの部分的な表示を要求することによって、各タブの内容がajax経由で読み込まれます。問題は、パーシャルビューがknockoutjsを使用するため、ビューモデルにバインドされていることです。この特定のシナリオでは、ページ全体が初めて読み込まれるため、すべてのバインディングが正常に動作します。タブを切り替えると、部分的な表示が要求され、タブのコンテンツ領域が新しいページに置き換えられます。最初のタブに戻ると、ノックアウト・バインディングがすべて失われているように見えることを除いて、部分的にロードされます。欠落しているデータがたくさんあります。ページがajax経由で部分的に読み込まれたときにノックアウトビューモデルを再バインドするにはどうすればよいですか?
jqueryがそのポイントでロードされていないため、viewmodel宣言とモデルバインドを部分的に配置することはできません。それで、($は定義されていない)ように見えます。
ビューモデルは、パーシャルビュー自体を呼び出すのではなく、部分ビューを呼び出すメインページで宣言され、バインドされているため、モデルはまだ使用可能であり、正常にバインドできると思っていました。私はこれが間違っていることを知っている、そして部分的な見解はjavscriptになると非常にうねっているので、皆さんから少しの洞察を盗むことを望んでいる。ページの非オーバーラップの特定の領域に結合することが可能であるならば、あなたはこの答えのようko.applyBindings(someViewModel, someDomElement)
を呼び出すために選択することができ