我认为我们不应该在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关闭它。 –
这是完美的。谢谢。 –