试图发出put请求以更新Angular 8中的JSON

试图发出put请求以更新Angular 8中的JSON,angular,typescript,Angular,Typescript,HTML文件: <td> <a > <button *ngIf="enableEdit && enableEditIndex == i" (click)="enableEdit=false; cancel()" class="btn page-secondary-action-btn" >Cancel</button>

HTML文件:

<td>
                    <a >
                      <button *ngIf="enableEdit && enableEditIndex == i" (click)="enableEdit=false; cancel()" class="btn page-secondary-action-btn" >Cancel</button>
                      <button *ngIf="enableEdit && enableEditIndex == i" id="saveBtn" class="btn page-primary-action-btn" (click)="saveSegment()" type="submit">Save</button>
                      <i class="material-icons" *ngIf="i != enableEditIndex || enableEditIndex == null" (click)="enableEditMethod($event, i)" style="font-weight:bold; font-style:inherit ;color: green;">
                          edit
                      </i>
                    </a>
                </td>
和服务文件:

saveBlog(data: blog) {
    const body = {
      id: data.id,
      name: data.name,
      status: data.status,
      active: data.active,
      modifiedAt: data.modifiedAt,
    };
    return this.http.put(this.mainUrl + '/blog/' + data.id , body);
}
在这里,我试图编辑数据并将其保存到我的web api中,但该过程不起作用,因此出现了如图所示的错误

您尚未在函数中传递参数

像这样:

<li *ngFor="let data of list">
  <button (click)="saveSegment(data)"> Click </button>
</li>

从html调用saveSegment时,数据参数丢失,只需添加它:


你能分享一下错误吗?我附上了一个关于错误的屏幕截图,我发现这个错误仍然不起作用,数据没有得到更新控制台。记录“可编辑数据”,数据;在屏幕截图中,我检查了它是否未定义。您必须从调用saveSegment函数的位置传递数据。我已经在函数中传递了*ngFor参数。我没有在代码中添加click=saveSegmentdata。现在,未定义的错误已被排序,我正在获取控制台输出,但数据仍然无法获取在后端更新。同样的错误是showni已经尝试过了,但是数据仍然没有在WEB上更新。是的,你可以在下面的链接中找到完整的代码。我做了一些改进,尝试让我知道你的反馈是的,我试着在给定的代码中添加ng容器,但是还是一样。发送put请求时有错误吗?复制整个html和ts文件,而不仅仅是表体中的ng container标记,我用模拟api进行了尝试,效果很好
(click)="saveSegment(data)"
<li *ngFor="let data of list">
  <button (click)="saveSegment(data)"> Click </button>
</li>
<button *ngIf="enableEdit && enableEditIndex == i" id="saveBtn" class="btn page-primary-action-btn" (click)="saveSegment(data)" type="submit">Save</button>