2014-02-16 33 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