在尝试数据绑定<input>
标记时,我在IE8中收到以下错误:
无法解析绑定。
消息:[对象错误];
绑定值:启用:$ root.hasTag('foo')
基本上,我在复选框上有一个启用数据绑定,如果没有具有特定标记的模型,则应禁用该复选框。
<input type="checkbox" data-bind="enable: $root.hasTag('foo')" value="foo"
class="filtercheck" />
viewmodel具有以下方法来遍历所有模型,并使用匹配标记对模型求和,如果值大于0,则返回true。
self.hasTag = function(tag) {
var sum = 0;
var item;
for (var i=0; i<this.items().length; i++) {
item = this.items()[i];
if (item.tags().indexOf(tag) != -1) {
sum++;
} else {
continue;
}
}
return (sum > 0) ? true : false;
};
为什么这个数据绑定只在IE8中引发错误?