私はviewmodelのhtml要素への参照を持つべきではないと思います。ですから、私は$( 'id')対話()や警告( 'メッセージ')やwindow.open()をしてはいけません。 どうすればいいですか?knockout.jsを使用してアラート/ポップアップ/ウィンドウを表示する方法
答えて
カスタムバインディングを使用してビューモデルからjQuery UIダイアログを制御するサンプルについては、この回答を見てください。
integrating jquery ui dialog with knockoutjs
trueに観測可能な設定、それを閉じfalseに設定すると、ダイアログが開きます。
あなたは2 upvotesを受け取り、:)既にupvoted元の答え。 –
実際には、ダイアログを使用しても何の努力もありません。 Knockoutにバインドさせるだけで、データはダイアログ要素に表示されます。私のアプリケーションでは、ダイアログが開いているかどうかは影響しません。ノックアウトは値を更新します。
ただし、論理的なセクションで私のバインディングを行います。ですから、私はko.applybindingsを2つの呼び出しでページとダイアログの本体に個別に適用します。
アラートに関しては、表示するテキストを渡す必要があります。だからここでノックアウトを使うには、ノックアウトで隠し要素を更新させる必要があります。次に、アラートに表示される値を取得します。
window.openの場合、あなたの懸念事項は不明です。私が理解しているように、それは新しいページに行くのと同じです。そのページのロジックがデータを埋め込むことになります。
はい私はノックアウトが隠しダイアログの値を入力することを知っています。しかし、そのダイアログをどのように表示するのですか? –
私はviewmodelにロジックだけを含み、UIへの参照は含まないようにしたいと思います。 C#で書かれた単体テストのビジネスロジッククラスをテストできるように、私はUIとは独立してテストすることができます。私のクラスが窓を開けたり、私が思うように警告を出すかどうかはテストできません。 –
- 1. knockout.jsでイメージローディングスピナーを表示する方法
- 2. knockout.jsを使用してMVCコントローラを移動する方法は?
- 3. knockout.jsを使用してラジオボタンをチェックする方法を設定しますか?
- 4. JavaScriptを使用してメッセージを表示して非表示にするタイミングイベントを使用する方法
- 5. カスタムバインディングを使用してKnockout.jsの "foreach"を使用して追加する要素をアニメーション化する方法
- 6. コンボボックスのキー値を使用して表示値を表示する方法
- 7. チェックボックスを使用してカラムを動的に表示/非表示する方法
- 8. PHPでforeachループを使用してJqueryを非表示/表示する方法
- 9. JavaScriptを使用してHTML要素を表示/非表示にする方法
- 10. javascriptを使用してdivを非表示/非表示にする方法は?
- 11. jQuery select/.change()を使用して非表示のdivを表示する方法
- 12. jqueryを使用してドロップダウンリストを表示/非表示にする方法
- 13. クリックイベントを使用してアクションバーアイテムをプログラムで表示/非表示する方法
- 14. PHPを使用してfoxproレジストリを表示する方法
- 15. asp.netを使用してページにワークフローを表示する方法
- 16. Firebugを使用してライブJSコールを表示する方法
- 17. sqlを使用してポーリング結果を表示する方法
- 18. ラジオボタンを使用してdivを非表示にする方法
- 19. フラグメントを使用してProgressDialogを表示する方法
- 20. FlexでVideoDisplayを使用してライブストリーミングビデオを表示する方法
- 21. CXFを使用してWSDLを非表示にする方法
- 22. Instafeedライブラリを使用してエラーメッセージを表示する方法
- 23. MVCパターンを使用してバランスメソッドを表示する方法
- 24. androidを使用してリストビューにデータを表示する方法
- 25. 反応ネイティブルータフラックスを使用してポップアップボックスを表示する方法
- 26. Python:Tkinterを使用してデータフレームを表示する方法
- 27. ジオコーダを使用して位置を表示する方法は?
- 28. phonegapを使用してウェブページを表示する方法
- 29. 別のオブジェクトを使用してAlertDialogを表示する方法
- 30. ajaxを使用して値を表示する方法
カスタムバインディングを使用してビューモデルからjQuery UIダイアログを制御するサンプルについては、この回答を見てください。 http://stackoverflow.com/questions/8611327/integrating-jquery-ui-dialog-with-knockoutjs/8611892#8611892 observableをtrueに設定すると、ダイアログが開き、falseに設定するとダイアログが閉じます。 –
これは完璧です。ありがとう。 –