我想对基于所选供应商的所有数组元素的嵌套元素QtyToOrder * VendorPrice求和。
我的嵌套可观察数组如下所示:
CheckStock: [{
ItemName: "123",
Vendors: [{
QtyToOrder: "5",
VendorPrice: "1243"}],
SelectedVendor: 0
},{
ItemName: "123",
Vendors: [{
QtyToOrder: "5",
VendorPrice: "1243"},
{
QtyToorder: 9
VendorPrice: 999 }],
SelectedVendor: 0
}]
我用我使用的实际数据和我正在使用的 ViewModel创建了一个Fiddle 。这个功能:
MyDataViewModel.TotalPurchaseReqPrice = ko.computed(function () {
var self = MyDataViewModel;
var tot;
for (var i = 0; i < self.CheckStock().length; i++) {
for (var j = 0; j < self.CheckStock()[i].SelectedVendor() ; j++) {
var HasVal = self.CheckStock()[i].SelectedVendor()[j] ? (ko.toJS(SelectedVendor().QtyToOrder) * ko.toJS(SelectedVendor().VendorPrice)) : 0
tot += HasVal
}
}
return tot;
});
尝试让它工作,但我的 Viewmodel 没有返回任何值。我也尝试订阅SelectedVendor,但不断发现SelectedVendor未定义。任何协助将不胜感激