我遇到问题。我在MVC中的视图中呈现选项卡,然后在三个不同的局部视图中有一堆KnockoutJS代码。Twitter Bootstrap导航标签与KnockoutJS冲突
我的问题是Knockout与其他Knockout代码冲突,因为每个Partial View都创建一个MVVM并应用绑定。
有没有什么办法可以跳过呈现DIV(带有部分视图),直到按下相关标签?
这里是我经常查看代码:
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#attributes">Attributes</a></li>
<li><a href="#interestgroups">Interest groups</a></li>
<li><a href="#categories">Categories</a></li>
</ul>
<div class="tab-content">
<div id="attributes" class="tab-pane active">
@Html.Partial("_AttributesPartial")
</div>
<div id="interestgroups" class="tab-pane">
@Html.Partial("_InterestGroupsPartial")
</div>
<div id="categories" class="tab-pane">
@Html.Partial("_InterestGroupCategoriesPartial")
</div>
</div>
<script type="text/javascript">
$(function() {
$('#myTab a:first').tab('show');
});
$('#myTab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
});
</script>
我们还需要看到您的KO代码,因为这是问题所在。你是否将所有的脚本保存在自己的视图中?另外,不同的部分是为了彼此交互?换句话说,改变一个标签会影响另一个标签吗? –
问题是我在每个部分视图中都有KO代码,每个部分都有ko.applyBindings()。这是相互矛盾的,因为当我运行视图(上面的代码)时,它呈现所有事情。我想按需求呈现标签中的内容,所以当我按下“属性”时_AttributesPartial已加载,但没有其他部分视图。所以当我点击“兴趣组”选项卡_InterestGroupsPartial已呈现,但没有其他部分视图。明白了吗?所以,而不是$(this).tab('show')我需要这样的:$(this).tab('render'); – Gaui