我的应用程序在angular2中有问题。我需要连接到api才能将记录检索到我的Persons []类。我想使用第二种方法来获取具有个人ID的人。我做同样的方式在对角网站上的教程,但不幸的是我仍然有一个故障错误TypeError:无法读取属性'名称'后得到Json
ERROR TypeError: Cannot read property 'Name' of undefined
这是我的服务
getPersons(): Promise<Person[]> {
var currentUser = JSON.parse(localStorage.getItem('currentUser'));
var token = currentUser.token;
let headers = new Headers({ 'Authorization': 'Bearer ' + token })
let options = new RequestOptions({ headers: headers });
return this.http.get(this.QuestionsUrl, options)
.toPromise()
.then(response => response.json() as Person[]);
}
getPerson(id: number): Promise<Person> {
return this.getPersons().then(persons => persons.find(person => person.Id === id));
}
我的组件:
export class PersonsComponent implements OnInit {
activePerson: any = {};
model: any = {};
constructor(private personService: PersonService, private route: ActivatedRoute, private location: Location) {
}
ngOnInit(): void {
this.route.paramMap.switchMap((params: ParamMap) => this.personService.getPerson(+params.get('Id')))
.subscribe(selected => this.activePerson = selected);
}
}
和html:
<body>
{{activePerson.Name}}
你访问的名称属性其他地方? – DeborahK
错误已经消失,但没有任何价值。空盒子 – Mixer94us
我没有使用那样的承诺......所以我无法帮助你。您可以在您的代码中添加一些'console.log()'语句,以缩小检索数据时可能出现的问题。我可以指出一些类似的使用Observables的代码,如果这会有所帮助的话。 – DeborahK