2013-07-02 182 views
0

我WPF它被稱爲元素綁定時,我想將控件的屬性綁定到另一個控件屬性。將屬性從一個html元素綁定到另一個html元素與knockoutjs

我必須使用knockoutjs做什麼約束?

而我將如何做元素綁定?

我希望這兩個div在時間和總和有相同的寬度。

總的寬度已經是可觀察的,也許我只需要引用總寬度,但我想這會發生在「元素綁定」?

或者它是唯一可能與敲除綁定一個html元素的視圖模型的任何屬性在上下文中?因爲這意味着我的viewmodel必須有2個屬性time和s,並且在視圖中枚舉/綁定它們,我只是引用這個viewmodel的公共寬度屬性。

<div id="times"> 
    <div> 
     <div style="width:OfTotalDiv"></div>   
    </div> 
    <div id="title"></div> 
</div> 
<div id="total"> 
    <div> 
     <div style="width:100px"></div>  
    </div> 
    <div id="title"></div> 
</div> 

回答

0

您確定需要數據綁定嗎?你可以用css類來做到這一點。

<style type="text/css"> 
    .small-boxes .this-box { width: 100px; } 
    .large-boxes .this-box { width: 200px; } 
</style> 

<body class="small-boxes"> 
    <div id="times"> 
     <div> 
      <div class="this-box"></div> 
     </div> 
    </div> 
    <div id="total"> 
     <div> 
      <div class="this-box"></div> 
     </div> 
    </div> 
</body> 
$('body').toggleClass('small-boxes large-boxes'); 

如果你真的需要綁定,你可以做這樣的事情:

<div id="times"> 
    <div> 
     <div data-bind="style: { width: widthOfTotal }"></div> 
    </div> 
</div> 
<div id="total"> 
    <div> 
     <div data-bind="style: { width: widthOfTotal }"></div> 
    </div> 
</div> 

在視圖模型:

self.widthOfTotal = ko.observable('100px'); 
+0

狗屎...對不起男人我的意思是身高不寬!在視圖模型中計算總分區的高度。所以我需要從時間div引用單個div的高度。 – Pascal

+0

而且我無法綁定時間div內所有div的寬度,因爲此區域被映射到viewmodel的另一個變量。 – Pascal

+0

您可以使用[jQuery resize plugin](http://benalman.com/projects/jquery-resize-plugin/)輪詢大小更改,並在觸發事件時更新可觀察值。 –

相關問題