我在頁面中加載4個部分視圖。包含單獨div和每個局部視圖中所有局部視圖的主頁面都有自己的挖空模型。我遇到的問題是單個淘汰賽模型不能綁定文本字段的值,也不能綁定文本字段的值。Knockout JS在多個部分視圖中有模型
我想保持頁面分離,因此主頁面不會太雜亂,並且與局部視圖緊密耦合。這實質上是以前完成的這4頁的總結。
看來我無法將挖空模型拉出來,因爲它們需要控制器的信息來填充局部視圖,而且我不想將局部視圖拉入此頁面。
本質上我想用他們自己的挖空模型加載部分視圖並具有所需的功能。
我在頁面中加載4個部分視圖。包含單獨div和每個局部視圖中所有局部視圖的主頁面都有自己的挖空模型。我遇到的問題是單個淘汰賽模型不能綁定文本字段的值,也不能綁定文本字段的值。Knockout JS在多個部分視圖中有模型
我想保持頁面分離,因此主頁面不會太雜亂,並且與局部視圖緊密耦合。這實質上是以前完成的這4頁的總結。
看來我無法將挖空模型拉出來,因爲它們需要控制器的信息來填充局部視圖,而且我不想將局部視圖拉入此頁面。
本質上我想用他們自己的挖空模型加載部分視圖並具有所需的功能。
聽起來像你的情況,你會想要使用ko.applyBindings
的第二個參數。
第二個參數允許您傳遞要用作根元素的DOM元素以進行綁定。
所以,如果你裝的部分意見納入相同的元素:
<div id="one">
...
</div>
<div id="two">
....
</div>
您可以在不同視圖模型綁定到像每個容器:
ko.applyBindings(oneModel, document.getElementById("one"));
ko.applyBindings(twoModel, document.getElementById("two"));
我已經這樣做了,它仍然沒有得到我所需要的,它能夠在部分視圖中應用綁定。所以要清楚,我在部分視圖中調用ko.applybindings,因爲它們包含它們的模型。 – segFault
因此,在部分視圖的內容被填充(或作爲部分的內聯部分)之後,您是否在調用ko.applyBindings時沒有第二個參數?如果您已經正確綁定了單個容器,那麼您可能需要分享更多代碼來確定綁定失敗的原因。 –
即時通訊使用第二個參數與每個模型在他們自己的部分。我認爲解決方案是讓一個大型模型具有代表部分的對象,然後在創建大型模型時使用ajax獲取部分並將其加載到它們的div中,然後通過大型模型中的對象引用部分 – segFault
在每一個局部視圖,將一些JavaScript在頁面的最底部。
<script type="text/javascript">
ko.applyBindings(viewModelObject, document.getElementById("someDivId"));
</script>
這將在適當的時間應用綁定。否則,由於視圖加載的異步方式,綁定將不起作用。
注意:viewModelObject應該在主視圖中定義,以及一般的ko包含文件。
你能告訴我們迄今爲止所嘗試的代碼嗎? – CodeThug