2014-02-16 31 views
1

我试图通过使用MVVM模式的数据绑定方法来切换Kendo UI窗口的可见属性,但它没有响应,因为它应该根据Kendo文档。Kendo UI窗口不响应数据绑定可见设置

<div id="KendoWindow" 
    data-role="window" 
    data-bind="visible:WindowVisible" 
    data-title="Title does not show" 
    data-width="500" 
    data-height="300" 
> 
    <div class="span4" > 
      <label for="Comment">Comments</label> 
      <textarea id ="Comment" data-bind="value: Comment"></textarea> 
    </div> 

我正确初始化,但如果我在视图模型设置WinowVisible属性设置为false,像这样,

this.set("WindowVisible", false); 

的窗口保持可见。

如果我把它通过jQuery的,像这样:

var dialog = $("#KendoWindow").data("kendoWindow"); 
     dialog.setOptions({ 
      visible:false 
     }); 

它就会成为无形。然后,我不能让它再次可见,如果我运行此代码:

var dialog = $("#KendoWindow").data("kendoWindow"); 
     dialog.setOptions({ 
      visible:true 
     }); 

回答

2

也许尝试添加数据可见=“假”的窗口,那么当的ShowWindow为真,就应该变得可见。我有一个绑定到布尔值的复选框,以及一个设置布尔值的按钮单击函数,两者似乎都正常工作。

看样......

http://jsbin.com/jecih/1/edit

+0

谢谢,我想我最大的问题是想非MVVM方法与MVVM方法相结合,两个人互相冲突。我已经实现了你的解决方案,它效果很好!将我的许多代码行简化为几个。 –

+0

但它为什么不起作用?我有一个类似的问题,但我不能将另一个控件绑定到showWindow属性。我所能做的就是获得模型并将属性设置为true ...这显示并且一切正常。但是,一旦窗口关闭,一次,它将永远不会再显示 - 尽管使用相同的代码,将'showWindow'设置为true,这是第一次工作。似乎真的应该是一个bug – PandaWood

+0

很好的答案!不过,我注意到我和你的例子,一旦你关闭窗口,关闭窗口中的动作,然后重新打开窗口,它将打开非常小,而不是在窗口中的关闭动作关闭。 – agDev