我使用敲除绑定。我有以下代码:
<div data-bind="with: transport()">
<textarea data-bind="text: sender().complete()"></textarea>
</div>
有时发件人为null
,因此此绑定发生错误:text: sender().complete()
当observable为null时,如何继续进行敲除以避免错误?
答案 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;
});