嵌套多维darray角度模型

时间:2019-03-08 22:57:06

标签: angular

我正在开发一个原型,以展示我们如何从“盒子”驱动的市场改变我们的业务模式,并将其转变为订阅业务。我们正在使用Zuora Central平台来管理我们的订阅。数据通过REST提供。 (请参见https://www.zuora.com/developer/api-reference/#tag/Catalog)。我正在使用我从ZUORA调用的数据来调整定价。

我有以下n级数据模型:

export class OrderInTake {
  productID: string;
  productName: string;
  productRatePlans: ProductRatePlans[];
}

export class ProductRatePlans extends Products {
  'id': string;
  'status': string;
  'name': string;
  'description': string;
  'effectiveStartDate': string;
  'effectiveEndDate': string;
  'PriceType__c': string;
  'PriceCode__c': string;
  'CurrencyOfBasePrice__c': string;
  'BasePrice__c': string;
  'productRatePlanCharges': ProductRatePlanCharges[];
}

export class ProductRatePlanCharges extends ProductRatePlans {
    'id': string;
    'name': string;
    'type': string;
    'model': string;
    'uom': string;
    'pricingSummary': [];
    'pricing': Pricing[];
    'defaultQuantity': string;
    'applyDiscountTo': string;
    'discountLevel': string;
    'discountClass': string;
    'productDiscountApplyDetails': [ ];
    'endDateCondition': string;
    'upToPeriods': string;
    'upToPeriodsType': string;
    'billingDay': string;
    'listPriceBase': string;
    'billingTiming': string;
    'billingPeriod': string;
    'billingPeriodAlignment': string;
    'specificBillingPeriod': string;
    'smoothingModel': string;
    'numberOfPeriods': string;
    'overageCalculationOption': string;
    'overageUnusedUnitsCreditOption': string;
    'unusedIncludedUnitPrice': string;
    'usageRecordRatingOption': string;
    'priceChangeOption': string;
    'priceIncreasePercentage': string;
    'useTenantDefaultForPriceChange': string;
    'taxable': string;
    'taxCode': string;
    'taxMode': string;
    'FeatureCode__c': string;
    'triggerEvent': string;
    'description': string;
    'revenueRecognitionRuleName': string;
    'useDiscountSpecificAccountingCode': string;
}

当我需要访问子子数组ProductRatePlanCharges时,出现错误消息: 属性“ productRatePlanCharges”在“ ProductRatePlans []”类型上不存在。

我想我需要更改模型-我必须如何更改模型才能访问子子数组?

该问题的背景:我需要在每个ProductRatePlanCharges中推送2个新对象,以在标价和默认数量旁边存储折扣价格和调整后的数量。如果有更明智的方法,而不是推送每个费率计划的值,请共享。

感谢您的支持。

1 个答案:

答案 0 :(得分:0)

基于模型OrderInTake的{​​{1}}是一个数组,然后数组中的每个项目都有一个名为productRatePlans的数组,因此要访问它,您需要像这样遍历

例如productRatePlanCharges =>,这也将是数组

OrderInTake.productRatePlans[0].productRatePlanCharges