You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 6后端数据路由至Angular时遇NG0900错误求助

解决Error: NG0900: Error trying to diff '[object Object]'问题

这个错误的核心原因很明确:你用*ngFor遍历的employees被赋值了一个对象,但*ngFor只能处理数组或可迭代类型。

从你的代码来看,你把employees声明成了Employee[]数组,但后端返回的响应不是直接的员工数组,而是一个包含数组的对象(比如常见的结构是{ data: [...], total: 10 }或者{ employees: [...] }),你直接把整个响应对象赋值给了employees,导致*ngFor无法遍历。

解决步骤:

  1. 查看控制台打印的响应结构:打开浏览器控制台,看你console.log(employees)输出的内容,找到里面真正的员工数组所在的属性(比如data、items或者employees)。
  2. 修改赋值逻辑:在next回调里,不要直接把整个响应赋值给this.employees,而是提取出数组属性。

比如假设控制台输出的响应是这样的:

{
  data: [
    { Id: 1, FirstName: "张三", LastName: "李四", DateOfBirth: "1990-01-01" },
    { Id: 2, FirstName: "王五", LastName: "赵六", DateOfBirth: "1992-02-02" }
  ]
}

那你需要把组件里的赋值代码改成:

next: (response) => {
    console.log(response);
    this.employees = response.data; // 这里的data替换成你实际的数组属性名
}

额外提示:

  • 如果后端可以修改,也可以直接让接口返回纯员工数组,这样前端不需要做额外处理。
  • 检查Employee接口的字段名是否和后端返回的完全匹配(比如大小写,后端可能返回id而你用Id,后续可能导致渲染不出数据)。

内容的提问来源于stack exchange,提问作者owwoj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:30:41