TypeError:无法读取属性' length'未定义的 - ngx-charts-bar-vertical-stacked

时间:2018-01-09 14:22:33

标签: angular ngx-charts

我正在尝试使用角度图表(ngx-charts-bar-vertical-stacked)在堆叠垂直条形图中显示计数报告,但我收到以下错误:

Error

例如,

动态构建数据 //app.ts我宣布

MyResource: Type: AWS::EC2::Instance Metadata: AWS::CloudFormation::Init: configSets: setup_process: - "prepare" - "run_for_instance" prepare: commands: 01_apt_update: command: "apt-get update" 02_clone_project: command: "mkdir -p /replication && rm -rf /replication/* && git clone https://github.com/awslabs/dynamodb-cross-region-library.git /replication/dynamodb-cross-region-library/" 03_build_project: command: "mvn install -DskipTests=true" cwd: "/replication/dynamodb-cross-region-library" 04_prepare_for_west: command: "mkdir -p /replication/replication-west && rm -rf /replication/replication-west/* && cp /replication/dynamodb-cross-region-library/target/dynamodb-cross-region-replication-1.2.1.jar /replication/replication-west/replication-runner.jar" run_for_instance: commands: 01_run: command: !Sub "java -jar replication-runner.jar --sourceRegion us-east-1 --sourceTable ${TableName} --destinationRegion ap-southeast-1 --destinationTable ${TableName} --taskName -us-ap >/dev/null 2>&1 &" cwd: "/replication/replication-west" Properties: UserData: Fn::Base64: !Sub | #cloud-config cloud_final_modules: - [scripts-user, always] runcmd: - /usr/local/bin/cfn-init -v -c setup_process --stack ${AWS::StackName} --resource MyResource --region ${AWS::Region} - /usr/local/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource MyResource --region ${AWS::Region}

然后在构造函数中调用array chartDataNGX:any[];然后在getchartdata中我会像

那样
getChatrtData()

它失败了'无法读取属性'长度'未定义的'我做错了什么?

请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试使用ngIf以避免在结果为空时生成图表

  <div *ngIf="chartDataNGX.length">
    <ngx-charts-bar-vertical-stacked
      [view]="view"
      [scheme]="colorScheme"
      [results]="chartDataNGX"
      [gradient]="gradient"
      [xAxis]="showXAxis"
      [yAxis]="showYAxis"
      [legend]="showLegend"
      [showXAxisLabel]="showXAxisLabel"
      [showYAxisLabel]="showYAxisLabel"
      [xAxisLabel]="xAxisLabel"
      [yAxisLabel]="yAxisLabel"
      (select)="onSelect($event)">
    </ngx-charts-bar-vertical-stacked>
   </div>

通常我们在构造函数中初始化变量,并在ngOnInit生命周期钩子中保留方法