我知道很多次都会问这个问题,但我无法弄清问题是什么。我试图将字符串添加到mongoDB中的字符串数组。当用户提交表单时,我收到此错误,因为for循环只看到该字符串,但当我重新加载页面时,它正确显示数组。
组件模板
<div class="panel-body">
<div class="skill" *ngFor="let skill of profile.skills">{{skill}}</div>
</div>
组件类
个人资料是一个模型,它有类似技能吗?:数组
profile: Profile = {};
onSubmit() {
this.profile.skills = this.form.value.skill;
this.userService.addSkills(this.profile, this.id)
.subscribe(
data => {
this.router.navigateByUrl('/');
},
error => console.error(error)
);
}
服务
addSkills(profile: Profile, id: string) {
const body = JSON.stringify(profile);
const headers = new Headers({ 'Content-Type': 'application/json' });
return this.http.post('http://localhost:3000/profile/skills/' + id, body, { headers: headers })
.map((response: Response) => response.json())
.catch((error: Response) => {
return Observable.throw(error.json());
});
}
当我把console.log(this.profile.skills)放在ngOnInit中时 它记录一个数组,但是当我在重定向提交之前正确登录它只记录添加的单个字符串。我必须提到技能在重新加载时正确显示。仅在提交表单时收到此错误。任何帮助表示赞赏