我有一个像这样的视图模型,
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中运行?
感谢。
答案 0 :(得分:1)
调查从计算结果返回的确切结果。
根据以下内容:
https://github.com/knockout/knockout/issues/525
较新的浏览器可能会处理xx.asmanydecimalplacesrequired%等结果,但可能与IE8不兼容。您应该确保返回的值是IE8的兼容宽度样式属性 - 例如把它修剪到2位小数 - 这是我要尝试的第一件事。
让我知道这是否有帮助,因为我通过研究完全搞清楚这一点,如果是这样的话,不要忘记投票; P