子模型上的knockout + chrome刷新数据

时间:2013-02-18 10:28:34

标签: javascript google-chrome knockout.js

我有几个子视图的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。

1 个答案:

答案 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

上的