错误错误:尝试区分'值'时出错。只允许数组和迭代

时间:2017-12-23 20:46:14

标签: angular typescript

我知道很多次都会问这个问题,但我无法弄清问题是什么。我试图将字符串添加到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中时  它记录一个数组,但是当我在重定向提交之前正确登录它只记录添加的单个字符串。我必须提到技能在重新加载时正确显示。仅在提交表单时收到此错误。任何帮助表示赞赏

0 个答案:

没有答案