我認爲我們不應該在viewmodel中引用html元素。所以我認爲我不能做$('#id')。dialog()或不應該做alert('message')或window.open()。 那我應該怎麼做呢?如何使用knockout.js顯示警報/彈出窗口/窗口
回答
看看這個答案,使用自定義綁定從視圖模型控制jQuery UI對話框的示例。
integrating jquery ui dialog with knockoutjs
設置可觀察到真正打開的對話框中,將其設置爲false關閉它。
好的,你會得到2 upvotes並接受:)已經upvoted原答案。 –
實際上,使用對話框是沒有任何努力的。只要讓Knockout進行綁定,數據就會存在於對話元素中。在我的應用程序中,如果對話框打開或沒有效果。淘汰賽仍然會更新這些值。
一個考慮因素,我做邏輯部分我的綁定。所以我會將ko.applybindings分別應用於頁面的主體和對話框中的兩個調用。
關於警報,您必須傳遞要顯示的文本。所以要在這裏使用淘汰賽,你必須讓淘汰賽更新一個隱藏的元素。然後獲取結果值以顯示在警報中。
對於window.open,不知道你關心的是什麼。據我瞭解,這是一個新的頁面。因此,該頁面的邏輯將完成填充。
是的,我知道淘汰賽會在隱藏的對話框中填充值。但是如何顯示對話框? –
我想我的viewmodel只包含邏輯和沒有引用的UI。這樣我就可以獨立於UI來測試它,就像我可以在用C#編寫的單元測試中測試業務邏輯類一樣。我無法測試我的課程打開窗口或顯示警報我想。 –
- 1. 如何從JavaScript中的子彈出窗口在父窗口中顯示警報?
- 2. 如何強制彈出警報窗口
- 3. 如何顯示其他彈出窗口上的彈出窗口?
- 4. 如何區分彈出式窗口,警報窗口和新窗口?
- 5. 彈出窗口不顯示
- 6. 彈出窗口不顯示
- 7. 彈出窗口不顯示
- 8. 顯示彈出窗口
- 9. iPhone:MKAnnotation顯示彈出窗口?
- 10. asp.net - 彈出窗口顯示彈出窗口
- 11. 關閉彈出窗口之前顯示警報消息
- 12. 莫塔爾彈出窗口上的警報顯示asp.net
- 13. 當警報窗口彈出顯示時SetInterval被阻止
- 14. 顯示彈出式窗口使用AppleScript
- 15. 使用Fancybox顯示彈出窗口div
- 16. 使用AJAX顯示HTML彈出窗口
- 17. 如何僅在窗口範圍內顯示彈出窗口?
- 18. 如何在父窗口頂部顯示彈出窗口?
- 19. 如何在我的主窗口中顯示彈出窗口?
- 20. 如何顯示彈出窗口
- 21. 如何顯示彈出窗口?
- 22. 如何顯示彈出窗口?
- 23. 如何顯示驗證彈出窗口之類的彈出窗口?
- 24. 驗證並顯示窗口警報
- 25. 警報窗口中的消息顯示
- 26. 如何在使用php SDK的彈出窗口中顯示Facebook授權窗口?
- 27. 使用「不再顯示」選項在HTML中創建彈出窗口/警報窗口
- 28. 處理警報將顯示在彈出窗口中使用硒的webdriver
- 29. 如何使窗內彈出窗口?
- 30. 如何在完成數據庫處理後顯示警報彈出窗口?
看看這個答案,使用自定義綁定來控制視圖模型中的jQuery UI對話框的示例。 http://stackoverflow.com/questions/8611327/integrating-jquery-ui-dialog-with-knockoutjs/8611892#8611892。將observable設置爲true打開對話框,將其設置爲false關閉它。 –
這是完美的。謝謝。 –