我正在使用一个使用Angular 4的网站。它工作正常,直到我进入生产模式。在生产模式期间,ng build似乎工作正常,但是当我执行ng build --prod时,它会抛出错误。像这样
我的观点是这样的
<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);
});
}
}
我搜索了错误,但我找不到解决方案。可以做些什么来解决这个问题。任何帮助,将不胜感激。谢谢
答案 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 = {};