我正在页面中加载4个部分视图。包含不同div和每个局部视图中所有局部视图的主页面都有自己的挖空模型。我遇到的问题是单个淘汰模型不能绑定文本字段的值,什么不能。
我希望将页面分开,这样主页就不会那么杂乱,并且与部分视图紧密耦合。这基本上是以前完成的这4页的摘要。
似乎我无法将淘汰模型拉出来,因为他们需要来自控制器的信息来填充局部视图,我不想将部分视图拉入此页面。
基本上我想用他们自己的淘汰模型加载部分视图并具有所需的功能。
答案 0 :(得分:0)
听起来好像在你的情况下,你会想要使用ko.applyBindings
的第二个参数。
第二个参数允许您传递要用作要绑定的根元素的DOM元素。
因此,如果您将部分视图加载到以下元素中:
<div id="one">
...
</div>
<div id="two">
....
</div>
您可以将不同的视图模型绑定到每个容器,如:
ko.applyBindings(oneModel, document.getElementById("one"));
ko.applyBindings(twoModel, document.getElementById("two"));
答案 1 :(得分:0)
在每个局部视图中,将一些JavaScript放在页面的最底部。
<script type="text/javascript">
ko.applyBindings(viewModelObject, document.getElementById("someDivId"));
</script>
这将在适当的时间应用绑定。否则,由于视图加载的异步方式,绑定将不起作用。
注意:viewModelObject应该在主视图中定义,以及一般的ko包含文件。