传递数组并得到:错误错误:NG0900:尝试比较“[对象对象]”时出错。仅允许数组和可迭代对象
我正在开发 Angular 上的 CRUD 应用程序的前端,在传递数组时出现此错误:
错误 错误:NG0900:尝试比较“[object Object]”时出错。仅允许数组和可迭代对象
我该如何解决该错误?
这是我列出城市的方法:
listar(pagina:number = 0){
this.filtro.estado = this.estadoSelected.name;
this.filtro.page = pagina;
this.cidadeService.listar(this.filtro).subscribe(data => {
const contentKey:any = Object.values(data)[0];
const registros:any = Object.values(data)[2];
this.totalRegistros = registros;
this.cidades = contentKey;
console.log(Array.isArray(this.cidades))
console.log(this.cidades);
});
}
这是我从 console.log
非常感谢任何类型的帮助
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该表有一个不同的组件,因此我解决了在 table.component.ts 上放置 @Input 来接收数组“cidades”table.component.ts 的值的问题
:
@Input() tabela!: any[];
table.component.html:
city.component.html
There's an different component for the table, so I solved the problem putting an @Input on the table.component.ts to receive the value of my array 'cidades'
table.component.ts:
@Input() tabela!: any[];
table.component.html:
<p-table [value]="tabela" ...
cities.component.html
<app-tabela-cidades [tabela]="cidades" [size]="filtro.size"></app-tabela-cidades>
错误 错误:NG0900:尝试比较时出错“”。仅允许数组和可迭代对象
在我的例子中,我有一个包含在表单组中的自定义组件。
错误在于表单组中的标准值是字符串而不是预期的数组。
因此,该表单试图将某些内容与字符串而不是数组进行比较。
为了解决这个问题,我只是在那里添加了一个数组。
ERROR Error: NG0900: Error trying to diff ''. Only arrays and iterables are allowed
In my case, I had a custom component that was included in the Form Group.
The error was that instead of the standard value in the Form Group is a string instead of an array as expected.
So the form is trying to compare something with a string instead of an array.
To fix this I just added an array there.