[英]knockout binding for simple object not working
我可以使剔除工作于数组或简单对象,但不能用于简单的json对象。 有人可以提供指针plz。
HTML:
<table>
<tbody>
<tr><td>customer Number: </td><td data-bind="text: customerData().reference"></td></tr>
<tr><td>customer Name: </td><td data-bind="text: customerData().name"></td></tr>
<tr><td>customer Manager Code: </td><td data-bind="text: customerData().managerCode"></td></tr>
</tbody>
</table>
JavaScript的:
var viewModel = {
customerData: ko.observable()
};
ko.applyBindings(viewModel);
viewModel.customerData({
reference: 123,
name: "bob",
managerCode: 321
});
查看控制台。 当您调用applyBindings
它会引发错误,因为它尝试访问customerData().reference
但applyBindings
定义customerData()
。 将.applyBindings
移动到分配customerData
值的.applyBindings
下方。
请参阅: http : //jsfiddle.net/aECM9/2/
另一种选择是使用if
绑定来阻止敲除尝试在有值之前在customerData()
上绑定属性:
<tbody data-bind="if: customerData()">
现在,如果customerData()
虚假,则在结束</tbody>
标记之后将不会呈现任何内容。
我使用了tbody
,但是您可以使用任何适当的父标记甚至虚拟标记:
<!-- ko if: customerData() -->
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.