Angular TypeError:无法读取未定义的属性'color'尝试读取数据

时间:2017-09-10 18:45:02

标签: javascript json angular

我正在尝试从Angular 4中的本地存储文件中读取一些数据。

以下是相同的数据:

  {
    "color": "blue"
  }

这是component.ts文件中的代码:

import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class DashboardComponent implements OnInit {

  data;

  constructor(private http: Http) {
    this.http.get('../../assets/data.json')
      .subscribe(res => this.data = res.json());

    console.log(this.data.color);
  }

  ngOnInit() {
  }

}

我一直收到这个错误:

  

错误:未捕获(在承诺中):TypeError:无法读取未定义的属性'color'

我在这里做错了什么/我该如何解决?

1 个答案:

答案 0 :(得分:1)

将console.log放在 subscribe

this.http.get('../../assets/data.json')
  .subscribe(res => {
     this.data = res.json();
     console.log(this.data.color);
  }
)