如何使用knockout.js显示警报/弹出窗口/窗口

时间:2011-12-28 08:55:53

标签: knockout.js

我认为我们不应该在viewmodel中引用html元素。所以我想我不能做$('#id')。dialog()或者不应该做警报('message')或window.open()。 那我该怎么做呢?

2 个答案:

答案 0 :(得分:8)

请查看此答案,了解使用自定义绑定从视图模型控制jQuery UI对话框的示例。

integrating jquery ui dialog with knockoutjs

将observable设置为true会打开对话框,将其设置为false会关闭它。

答案 1 :(得分:1)

实际上,使用对话框根本不费力。让Knockout做它的绑定,数据将在对话框元素中。在我的应用程序中,如果对话框打开或没有效果。 Knockout仍将更新值。

但需要考虑的是,我在逻辑部分进行绑定。所以我会将ko.applybindings分别应用于页面的主体和两个调用中的对话框。

关于警报,您必须传入要显示的文本。所以要在这里使用knockout,你必须让knockout更新一个隐藏的元素。然后获取结果值以便在警报中显示。

对于window.open,不确定您的顾虑是什么。据我了解,这与进入新页面相同。这样页面的逻辑就会填充。