0
<div data-bind="foreach: ccOpenInvoiceListObservable">
  <div data-bind="foreach:Invoices">
        <span data-bind="text:$root.formatCurrency(AmountOutstanding)"></span>
  </div>
</div>

 <div data-bind="foreach: overDueBalancesObservable">
        <span data-bind="text: $parent.formatCurrency(OverDueAmount)"></span>  
 </div>

vm.formatCurrency = function (value) {
        return "$" + value().toFixed(2);
};

我在尝试调用 $parent.formatCurrency(OverDueAmount) 时收到主题行中提到的错误。对于 AmountOutstanding,值正在格式化。

4

1 回答 1

1

您收到错误是因为您OverDueAmount不是可观察的属性。

使用ko.utils.unwrapObservable你的函数formatCurrency来访问value(这处理两种情况,什么时候value可以观察到,什么时候不可以看到什么时候使用ko.utils.unwrapObservable?):

vm.formatCurrency = function (value) {
        return "$" + ko.utils.unwrapObservable(value).toFixed(2);
};

或将您的更改OverDueAmountko.observable.

于 2013-09-18T15:07:28.867 回答