0

我在一个页面中加载 4 个部分视图。包含单独 div 中的所有局部视图的主页,每个局部视图都有自己的淘汰模型。我遇到的问题是各个剔除模型无法绑定文本字段的值等等。

我想将页面分开,这样主页面就不会那么混乱,并且与部分视图紧密耦合。这本质上是对之前完成的这 4 页的总结。

似乎我无法将淘汰模型拉出,因为它们需要来自控制器的信息来填充局部视图,并且我不想将局部视图拉入此页面。

本质上,我想用自己的淘汰模型加载部分视图并具有所需的功能。

4

2 回答 2

0

这听起来像在你的情况下,你会想要使用第二个参数到ko.applyBindings.

第二个参数允许您传递要用作绑定的根元素的 DOM 元素。

因此,如果您将部分视图加载到以下元素中:

<div id="one">
...
</div>
<div id="two">
....
</div>

您可以将不同的视图模型绑定到每个容器,例如:

ko.applyBindings(oneModel, document.getElementById("one"));

ko.applyBindings(twoModel, document.getElementById("two"));
于 2012-12-07T22:25:15.367 回答
0

在每个局部视图中,在页面的最底部放置一些 JavaScript。

<script type="text/javascript">
    ko.applyBindings(viewModelObject, document.getElementById("someDivId")); 
</script>

这将在正确的时间应用绑定。否则,由于视图加载的异步方式,绑定将不起作用。

注意:viewModelObject应该在主视图中定义,以及一般的ko包含文件。

于 2013-07-10T14:12:01.657 回答