ノックアウト js と jquery の最新バージョンを使用しています。特定の ko.observable に値があるたびに開閉する jquery ダイアログを作成しようとしています。この jsfiddle のコード ( http://jsfiddle.net/rniemeyer/WpnTU/ )に基づいて実装し ました。これは、この Knockout.js フォーラム ( https://groups.google.com/d/msg/knockoutjs/ ) で見つけました。 XIaQMNHjy7Q/BpfDU5inKVQJ .
ただし、このアプローチは、非推奨になった jquery-tmpl.js プラグイン (バージョン 1.0.0pre) を含めた場合にのみ機能します。問題を 2 つの jsfiddle、動作するバージョン ( http://jsfiddle.net/LhEnV/29/ )、および壊れたバージョン ( http://jsfiddle.net/gygh3/1/ ) に絞り込みました。唯一の違いは、jquery-tmpl.js が 2 番目のバージョンに含まれていないことです。
問題の根本は、最初にページをロードしたときに、ダイアログとそのコンテンツが依存しているオブザーバブルが設定されていないことです。したがって、テンプレートがバインドされるプロパティは使用できず、エラーが発生します。ノックアウトの前に jquery-tmpl を含めると問題が解決するので、jquery-tmpl が使用可能になると、ノックアウト テンプレート エンジンの動作が変わると想定しています。ただし、非推奨のプラグインに依存したくありません。
jquery UIダイアログとその内容をViewModelにバインドするより良い方法はありますか?