错误TypeError:无法在Angular 6中读取null的属性'length'

时间:2018-07-06 04:39:42

标签: angular typescript

我是角度6的新手,这里有两个组件app.component.ts,products.component.ts和服务文件。

在产品组件中,我需要在ngOnChanges方法中接收json响应,我想获取json数组长度并将其传递给应用程序组件。

例如:如果json数组长度为10,那么我将在此json数组响应中显示10种产品。

对我来说,它工作正常。但是我遇到了标题中提到的控制台错误。我尝试了一些解决方案,但没有解决此问题的方法。

app.component.ts

<%= stylesheet_link_tag params[:controller] %>

服务。

 this.CartdataService.productCount.subscribe(
  (data :any) =>{
    this.size  = data;
  });

products.component.ts

public prooductCountUnderCGS = new BehaviorSubject<number>(0);
  productCount = this.prooductCountUnderCGS.asObservable();

谁能帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您需要检查是否有空数据。首先调试dat,看看它是否为空。但是,您需要检查数据才能看到。调用对象长度而不检查其值是有风险的。

 this.CartdataService.get_Selected_Category_Of_Products(this.C_code,
      this.G_code, this.SG_code).subscribe(
        (data : any) => {
         if(data){ 
          this.size = data.length;
          this.CartdataService.prooductCountUnderCGS.next(this.size);
          this.products = data;}

        });