我有几个子视图的shell视图 - 看起来像这样并且工作正常。
<div id="shellView" style="display: none;">
<div id="tabView" data-bind="with: Tab(), visible: State() === 'Tab'">
@Html.Partial("Tab")
</div>
<div id="tab2View" data-bind="with: Tab2(), visible: State() === 'Tab2'">
@Html.Partial("Tab")
</div>
问题是切换选项卡之间的beet(仅限Chrome)。一个选项卡有一个带有敲除的图像列表 - 所有图像在控制器上都有src到Action(RedirectResult),它重定向到我们的服务器或客户端服务器并下载图像:
[HttpGet]
public RedirectResult DynUrl(int id, string size)
第二个标签在这一点上是空的 - 但是当我切换到它们时,谷歌浏览器向所有DynUrl再次下载图像 - 当前已下载的图像 - 只是隐藏了。
我正在使用淘汰赛2.1.0。
答案 0 :(得分:1)
应该像
一样工作<div id="shellView" style="display: none;">
<!-- ko with: Tab -->
<div id="tabView" data-bind="attr: {display: isVisible}">
@Html.Partial("Tab")
</div>
<!-- /ko -->
<!-- ko with: Tab2 -->
<div id="tab2View" data-bind="attr: {display: isVisible}">
@Html.Partial("Tab")
</div>
<!-- /ko -->
然后放一个
this.isVisible = ko.computed(function(){
if(self.visibleState())return 'block';
else return 'none';
});
选项卡viewmodel 上的