当observable为null时避免错误

时间:2013-04-02 16:58:50

标签: knockout.js

我使用敲除绑定。我有以下代码:

<div  data-bind="with: transport()">
    <textarea data-bind="text: sender().complete()"></textarea>
</div>

有时发件人为null,因此此绑定发生错误:text: sender().complete()

当observable为null时,如何继续进行敲除以避免错误?

2 个答案:

答案 0 :(得分:0)

<div  data-bind="with: transport()">
    <textarea data-bind="text: sender() ? sender().complete() : ''"></textarea>
</div>

答案 1 :(得分:0)

最后,这就是我的工作:

当对象传输正在初始化时,我为senderSignaletic创建了一个计算器,用于测试传输上发送者(= Shipper实体)的存在,然后从中检索signaletic:

transport.senderSignaletic = ko.computed(function () {
    return (transport.sender()) ? transport.sender().signaletic : '';
});

当对象发货人正在初始化时,我创建了一个signaletic计算器,它是名称,街道,数字,城市......的串联:

shipper.signaletic = ko.computed(function () {
    var name = shipper.name();
    var street = shipper.street();
    var number = shipper.number();
    var postcode = shipper.postCode();
    var city = shipper.city();

    var country = shipper.country().name();
    return name + '\n' + street + ' ' + number + '\n' + postcode + ' ' + city + ' ' + country;
});
相关问题