私のアプリには、追加ダイアログ (jquery ui) があります。コードは新しいビューモデル インスタンスを作成し、このダイアログをバインドしてダイアログを表示します。
ViewModelには、バインディングsave
を使用してダイアログのボタン(標準のjqueryダイアログボタンではなくカスタム)にバインドされるメソッドもありますclick:
。ViewMode のこの保存メソッドはサーバーへの投稿を実行し、サーバーはデータを保持します。
ユーザーが追加ダイアログを開いてデータを入力し、保存ボタンをクリックすると、データがサーバーに送信され、ダイアログが閉じられko.cleanNode()
、ダイアログ ノードに表示されます。
ユーザーが追加ダイアログを再度開き、新しいデータを入力して保存をクリックすると、ViewModel の保存バインディングが 2 回呼び出され、サーバーへの POST が 2 回送信されます。3 回目にダイアログを開くと、3 つの投稿があります。
viewmodel インスタンスのグローバル var を作成し、ダイアログを閉じたときにそれを null に設定しようとしましたが、それは役に立ちませんでした。save が 2 回以上呼び出されます。
似たようなものに遭遇したことがありますか?