IE8淘汰赛错误 - 无法处理绑定

时间:2015-06-24 21:51:32

标签: javascript knockout.js internet-explorer-8

我有一个像这样的视图模型,

var sectorViewModel = function() {
    this.currentValue = ko.observable();
    this.previousValue = ko.observable();
    ....
    this.maxValue = ko.computed(function() {
        return Math.max(this.currentValue(), this.previousValue(), ...);
    }, this);
}

ko.applyBinding(sectorVM, document.getElementById("divSector");

这是我正在进行数据绑定的html片段,

<div id="divSector">
    ...
    <div class="bar" data-bind="style: {width: (currentValue()*100)/maxValue() + '%'}"></div>
    ...
</div>

除IE8外,所有浏览器均可正常使用。在IE8中,我在开发工具中看到了这个错误 -

Invalid argument. Unable to process binding "style: function() {return..."

任何想法如何让它在IE8中运行?

感谢。

1 个答案:

答案 0 :(得分:1)

调查从计算结果返回的确切结果。

根据以下内容:

https://github.com/knockout/knockout/issues/525

较新的浏览器可能会处理xx.asmanydecimalplacesrequired%等结果,但可能与IE8不兼容。您应该确保返回的值是IE8的兼容宽度样式属性 - 例如把它修剪到2位小数 - 这是我要尝试的第一件事。

让我知道这是否有帮助,因为我通过研究完全搞清楚这一点,如果是这样的话,不要忘记投票; P