Knockout.jsのネイティブテンプレート機能を使用してFlashオブジェクトを埋め込むためのHTMLをレンダリングしようとしています。jQuery.tmplは完全にうまく機能しますが、Knockout-sortableプラグインとの競合のため、使用できません。
ネイティブテンプレートを使用したフラッシュプラグインの例を次に示します。http://jsfiddle.net/7y3ub/35/ Chrome
では、プレーヤーが表示されません。Firefoxでは、チェックボックスがオンになっているときにチャネルを変更すると、プレーヤーが表示されます。ただし、チェックボックスを再度オンにすると、プレーヤーは再び消えます。
ページの期間中にフラッシュプラグインのロードとアンロードのインスタンスが多数存在する可能性があるため、「if」バインディングが必要です。
私の知る限り、オブジェクト/埋め込みタグが表示されているDOMに入るまでに、HTMLはすべて適切に配置されている必要があります。これが、私の場合、jQuery.tmplが優れている理由です。自分でHTML文字列を作成しようとしましたが、新しいマークアップに含まれるバインディングを適用および維持する方法がわかりません。
結論として、バインディングをサポートしながらHTMLを即座にレンダリングする方法、またはjQuery.tmplとKnockout-sortableを相互に互換性のあるものにする方法を見つける必要があります。
非互換性の例を次に示します。http: //jsfiddle.net/7y3ub/41/
jQuery.tmplを参照しないだけで、この例のコードは完全に機能します。http://jsfiddle.net/7y3ub/42/
コンソールのエラーメッセージは、コンテキストが適切に調整されていないか、暗黙のforeachが実行されていないことを示しているようです。SubItem
オブジェクトが単純な文字列に置き換えられるこの調整では、メッセージはさらに珍しくなります:http: //jsfiddle.net/7y3ub/43/