繁体   English   中英

用于简单对象的剔除绑定不起作用

[英]knockout binding for simple object not working

我可以使剔除工作于数组或简单对象,但不能用于简单的json对象。 有人可以提供指针plz。

http://jsfiddle.net/aECM9/

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().referenceapplyBindings定义customerData() .applyBindings移动到分配customerData值的.applyBindings下方。

请参阅: http//jsfiddle.net/aECM9/2/

另一种选择是使用if绑定来阻止敲除尝试在有值之前在customerData()上绑定属性:

 <tbody data-bind="if: customerData()">

现在,如果customerData()虚假,则在结束</tbody>标记之后将不会呈现任何内容。

http://jsfiddle.net/aECM9/3/

我使用了tbody ,但是您可以使用任何适当的父标记甚至虚拟标记:

<!-- ko if: customerData() -->

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM