将对象从组件移动到组件以对该对象进行更改

时间:2017-11-28 15:12:47

标签: angular typescript object

我有一个像这样的html表

<table>
  <tr>
    <td>Ime</td>
    <td>Prezime</td>
    <td>Jmbg</td>
    <td>Izmeni</td>
  </tr>
  <tr *ngFor="let osoba of osobe | async">
    <td>{{osoba.ime}}</td>
    <td>{{osoba.prezime}}</td>
    <td>{{osoba.jmbg}}</td>
    <td>
      <input type="button" value="change 
      (click)="saveSelectedPerson(osoba)">
    </td>
  </tr>
</table>

我需要定义函数(click)=“saveSelectedPerson”,以便在点击应用程序转到另一个表单以更改该人的osoba(Person)信息,这意味着我需要以某种方式将该特定人员导入ChangeInfoComponent,这是另一个组件这只是PreviewComponent

我尝试在PreviewComponent中创建对象并从单击的Person中分配属性,但是当我记录(this.goToOsoba)Person未定义时

 saveSelectedPerson(o: Osoba) {
     console.log(o);
     console.log(this.goToOsoba);
      this.goToOsoba.ime = o.ime;
      this.goToOsoba.prezime=o.prezime;
      this.goToOsoba.jmbg=o.jmbg;
   }

我做错了什么?并且我的方法是好的还是组件之间的共享对象应该以其他方式完成而不是组件的公共属性?

1 个答案:

答案 0 :(得分:1)

使用共享服务存储和检索有关所选osoba的信息。将其保存到saveSelectedPerson函数中的服务,并在ChangeInfoComponent中使用相同的服务来获取该数据。 你有更多的选择: https://angular.io/guide/component-interaction