财产地址'在进入生产模式Angular 4时,类型{}上不存在

时间:2017-11-14 17:03:46

标签: angular typescript

我正在使用一个使用Angular 4的网站。它工作正常,直到我进入生产模式。在生产模式期间,ng build似乎工作正常,但是当我执行ng build --prod时,它会抛出错误。像这样

error image

我的观点是这样的

<ul class="personal-info list-inline clearfix mb-5">
  <li><strong>Full Name :</strong>{{details.name}}</li>
  <li><strong>Birthday :</strong>{{details.birth_day}}</li>
  <li><strong>Address :</strong>{{details.address}}</li>
  <li><strong>Phone :</strong>{{details.phone}}</li>
  <li><strong>Email :</strong> <a href="">{{details.email}}</a></li>
  <li><strong>Job :</strong>{{details.job}}</li>
  <li><strong>Skype :</strong> {{details.skype}}</li>
</ul>

我的组件是这样的

export class AppComponent implements OnInit {


  title = 'app';
  slider = {};
  specialities = {};
  works = {};
  details = {};
  image;
  html;
  image1;
  private url = "http://localhost/portfolio/api/home/data"

  constructor(private http: Http) {
  }
  ngOnInit() {
    this.getData();
  }

  getData() {
    return this.http.get(this.url)
      .map((res: Response) => res.json()).subscribe(res => {
        this.slider = res.slider;
        this.specialities = res.specialities;
        this.works = res.works
        this.details = res.details;
        console.log(res);
      });
  }


}

我搜索了错误,但我找不到解决方案。可以做些什么来解决这个问题。任何帮助,将不胜感激。谢谢

2 个答案:

答案 0 :(得分:2)

您应该创建一个类详细信息并在组件中声明详细信息,

export class Detail {
  name : string;
  .............
  etc
}

并在组件内部

details:Detail ;

答案 1 :(得分:1)

Typescript正在寻找Object类的name,birth_day等属性,但它们在Object类中不存在。您需要将对象的类型声明为任何类型,然后Typescript不会抱怨您的属性名称。像这样:

slider: any = {};
specialities: any = {};
works: any = {};
details: any = {};