问题描述:
在Angular 9中,当尝试使用*ngFor
指令绑定一个对象时,会出现以下错误:
Angular9: 获取到的类型为对象的对象' [object Object] '找不到支持的区别。NgFor只支持绑定到像数组这样的可迭代对象。
解决方法:
*ngFor
指令只能用于绑定可迭代对象,而不能直接绑定一个对象。要解决这个问题,需要将对象转为数组形式,然后再进行绑定。
以下是一种解决方法的示例代码:
在组件中定义一个对象:
myObject = {
key1: value1,
key2: value2,
...
};
在模板中使用keyvalue
管道将对象转成数组形式:
{{item.key}}: {{item.value}}
这样就能够正确地遍历对象的键值对并进行绑定。
请注意,keyvalue
管道是Angular自带的管道,需要在模块中导入CommonModule
才能使用。确保在模块中添加import { CommonModule } from '@angular/common';
语句,并在imports
数组中加入CommonModule
。
希望以上解决方法能够帮助到你解决问题!
上一篇:Angular9/Ionic 5 Ion-Split-pane问题
下一篇:Angular9: 类型 'Observable<HttpEvent<class>>' 无法赋值给类型 'Observable<class>'。