我有一個包含多個可觀察對象(預算,公司,成本中心)數組的視圖模型。 預算有一個CostcenterID和一個可計算的可觀察性,該成本中心根據costcenterid從costcenterlist返回該預算的成本中心。成本中心有一個companyID和一個計算的observable,可以從基於commpanyId的公司列表中返回該成本中心的公司。處理嵌套可觀察對象中的空對象
在我看來,i'n結合的預算和,我有
<td>
<select data-bind="options:$root.Costcenter,optionsCaption:'cost center', optionsText:'Title', optionsValue:'Id', value:CostCenterId "></select>
</td>
<td>
<span data-bind="text:CostCenter().Company().Title"></span>
</td>
它工作正常,如果預算有costcenter,但是當costcenter不存在一個給定的預算,我收到了綁定錯誤
0x800a139e - Microsoft JScript runtime error: Unable to parse bindings.
Message: TypeError: Object doesn't support this property or method;
Bindings value: text:CostCenter().Company().Title
(我計算的costCenter的observable會返回一個空Object {},如果它沒有根據costcenterID找到costcenter)。
最好的辦法是處理這個問題,而不是用一堆檢查對象是否爲空的if語句來亂拋我的綁定?