我是Knockoutjs的新手,我需要一些帮助来正确绑定数据。
我希望knockoutjs在AJAX调用完成后填写每个div,服务器的数据如下所示:
{
name: 'michael',
phone: '123456789',
friends:
[
{ sex: 'male', region: 'europe' },
{ sex: 'female', region: 'america' },
{ sex: 'male', region: 'asia' }
]
}
仅供参考,我想绑定以上数据而不使用foreach来迭代并填写上面的“朋友”。相反,出于某种原因,我想在每个div上手动绑定数据,例如)
<div data-bind: friends[0].sex>...
<div data-bind: friends[1].sex>...
<div data-bind: friends[2].sex>...
这是我的JSfiddle:http://jsfiddle.net/VAcQB/
目前有错误说:
Uncaught Error: Unable to parse bindings.
Message: TypeError: Cannot read property '0' of undefined;
Bindings value: text: data.friends[0].sex
我认为这是因为它不理解绑定数据,因为当页面加载时数据还不可用。
有人可以帮忙解决问题吗?非常感谢你。
答案 0 :(得分:0)
您应该检查data
是否为空。执行此操作的最佳方法是使用绑定:
<div data-bind="with: data">
... Your content
</div>
这是工作小提琴:http://jsfiddle.net/VAcQB/2/