我遇到了在knockout-js中绑定锯齿状数组的问题。我搜索了很多,但找不到任何东西。举个简单的例子,
<div data-bind="foreach: items">
<div data-bind="style: { textAlign: align, backgroundColor: bgColor, fontFamily: fontFamily, fontSize: size, color: color }, text: title"></div>
</div>
这是我的数组,
var items = [{
title: 'A',
align: 'right',
fontFamily: 'helvetica',
color: '#777777',
bgColor: '#ffffff'
},
{
title: 'A',
align: 'right',
size: 'large',
fontFamily: 'helvetica'
}
{
size: 'large',
fontFamily: 'helvetica',
color: '#777777'
}]
显然有时某些财产缺失了吗?所以我得到 * 没有定义*错误。如何处理这种情况。
答案 0 :(得分:1)
另一个选项是引用$ data上下文的值。 IE:
<div data-bind="style: { textAlign: $data.align, backgroundColor: $data.bgColor, fontFamily: $data.fontFamily, fontSize: $data.size, color: $data.color }, text: $data.title"></div>